iFrame
요소를 HTML 문서에 사용하면 하위 페이지가 브라우저의 모든 세션 및 쿠키 데이터와 함께로드됩니다. 예를 들어세션 또는 쿠키 데이터가없는 iFrame 사용 (시크릿)
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Stack Overflow in an iFrame</title>
</head>
<body>
<h1>Stack Overflow in an iFrame</h1>
<iframe src="http://stackoverflow.com" width="640" height="480" />
</body>
</html>
가 SO 사실 자체가 iframe에로드 할 수 없습니다 잠시 무시합니다. 그렇다면 iFrame에 의해로드 된 SO 페이지에 로그인 한 것으로 표시됩니다.
쿠키 또는 세션 데이터없이 iFrame을 어떻게 사용할 수 있습니까? (Chrome의 시크릿 모드와 유사)
왜?
내 회사는 사용자 정의 웹 사이트를 구축하는 사람들을 위해 제품 (웹 앱)을 판매합니다. 사용자가 인증을 받고 웹 사이트를 방문하면 UI 버전의 인증 된 버전을 표시하여 콘텐츠를 수정할 수 있습니다. 승인되지 않은 사용자는 정적 웹 사이트 만 볼 수 있습니다. 여러 브라우저를 사용하거나 쿠키를 삭제하는 것은 사용자의 합리적 기대치가 아니므로 iFrame에서 사이트의 미리보기를 표시하여 방문자가 볼 수있는 것을 볼 수 있습니다. 우리는 또한 더 작은 해상도의 iFrames로 사이트의 "모바일"미리보기를 표시하여 방문자가 전화로 웹 사이트를 방문했을 때 방문자가 무엇을 보는지 알 수 있습니다. 이러한 iFrame은 Chrome이 시크릿 모드에서 실행하는 것과 같이 승인되지 않은 모드에서로드되도록 브라우저의 쿠키 또는 세션 데이터에 대한 액세스 권한없이로드해야합니다.
어디에서 시작해야할지 모르므로 아직 시도하지 않았습니다. 나는 HTML5 added some sandbox
attribute values to the iFrame
element을 찾았지만 그 중 누구도이 문제에 도움이되지 않는 것 같습니다. 아마도 JavaScript로 뭔가를 할 수 있었을 것입니다. 이미 프로젝트에서 jQuery를 사용하고 있습니다.
참고 : 우리는 사용 유효 HTML5
클라이언트에서 쿠키 액세스를 ** 제어 할 수 없습니다 **. 우리 회사는 또한 iFrame에서 많은 돈을 벌기 때문에 iFrames에서 쿠키/세션을 설정하는 것은 이전에 작업해온 작업입니다. 아마도 다른 하위 도메인을 사용하는 것이 가장 쉽습니다. – jamez14