我有两个网站,假设它们是
为了测试目的,我在 http://newmoon.wz.cz/test/page.php 上创建了类似的设置。
抓取 HTTP 流量的结果:在 GET /someform.asp 响应中,有一个有效的会话级别 Set-Cookie 头部(例如,
编辑3:一些AJAX+服务器端脚本似乎能够避开这个问题,但这看起来非常像一个漏洞,而且它会打开一整套安全漏洞。我不想让我的应用程序使用一个由于易用性而组合了漏洞和安全漏洞的方法。
编辑:P3P策略是根本原因,完整解释如下。
example.com
和 anotherexample.net
。在 anotherexample.net/page.html
页面上,我有一个 IFRAME SRC="http://example.com/someform.asp"
,显示一个表单供用户填写并提交到http://example.com/process.asp
。当我在单独的浏览器窗口中打开这个表单("someform.asp
")时,一切正常。但是,在 IE 6 或 IE 7 中将 someform.asp
作为 IFRAME 加载时,导致了 example.com 的 cookie 无法保存。在 Firefox 中不存在这个问题。为了测试目的,我在 http://newmoon.wz.cz/test/page.php 上创建了类似的设置。
example.com
使用基于 cookie 的会话(我无能为力),因此如果没有 cookie,则无法执行 process.asp
。如何强制 IE 保存这些 cookie?抓取 HTTP 流量的结果:在 GET /someform.asp 响应中,有一个有效的会话级别 Set-Cookie 头部(例如,
Set-Cookie: ASPKSJIUIUGF=JKHJUHVGFYTTYFY
),但在 POST /process.asp 请求中,根本没有 Cookie 头部。编辑3:一些AJAX+服务器端脚本似乎能够避开这个问题,但这看起来非常像一个漏洞,而且它会打开一整套安全漏洞。我不想让我的应用程序使用一个由于易用性而组合了漏洞和安全漏洞的方法。
编辑:P3P策略是根本原因,完整解释如下。