猿问

Cookie已阻止/未保存在InternetExplorer中的iframe中

我有两个网站,比如说example.comanotherexample.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中

HUWWW
浏览 683回答 3
3回答

收到一只叮咚

我只需在iframe(PHP解决方案)中将这个小标题添加到站点中,就可以让邪恶的目光消失:header('P3P: CP="NOI ADM DEV COM NAV OUR STP"');记得按下ctrl+f5重新加载您的网站或资源管理器可能仍然显示出邪恶的眼睛,尽管事实是,它运行良好。这可能是我在工作中遇到这么多困难的主要原因。根本就没有政策文件。编辑:我找到了一个很好的博客条目,它解释了IFrames中cookie的问题。它在C#代码中也有一个快速修复:帧、ASPX页和被拒绝的Cookies
随时随地看视频慕课网APP
我要回答