我有两个网站,比如说example.com
和anotherexample.net
..在……上面anotherexample.net/page.html
,我有一个IFRAME SRC="http://example.com/someform.asp"
..,这将显示一个表单,供用户填写并提交到http://example.com/process.asp
..当我打开表格时someform.asp
“)在它自己的浏览器窗口中,所有操作都很好。当我装载someform.asp
作为IE6或IE7中的iframe,没有保存example.com的cookie。在Firefox中,这个问题不会出现。
为了测试目的,我创建了一个类似的设置http://newmoon.wz.cz/test/page.php .
example.com
使用基于cookie的会话(我对此无能为力),所以没有cookie,process.asp
不会执行。我怎么才能强迫IE保存那些饼干呢?
嗅探HTTP流量的结果:在GET/omeform.asp响应上,有一个有效的每个会话集-Cookie头(例如,Set-Cookie: ASPKSJIUIUGF=JKHJUHVGFYTTYFY
),但是在POST/process.asp请求中,根本没有Cookie头。
编辑3:一些ajax+服务器端脚本显然能够避开这个问题,但这看起来非常像一个bug,而且它打开了一组全新的安全漏洞..我不希望我的应用程序仅仅因为很容易就使用bug+安全漏洞的组合。
编辑:P3P政策是根本原因,详细解释如下。
Cookie已阻止/未保存在InternetExplorer中的iframe中