什么是header('P3P: CP="CAO PSA OUR"'); 对于? 如何/为什么会让这个脚本在IE中正常工作? session_start(); if (!session_is_registered(pre_myusername)) { header("location:index.php"); exit(); }
我有两个网站,假设他们是example.com和anotherexample.net 。 在anotherexample.net/page.html ,我有一个IFRAME SRC="http://example.com/someform.asp" 。 该IFRAME显示一个表格供用户填写并提交到http://example.com/process.asp 。 当我在自己的浏览器窗口中打开表单(“ someform.asp ”)时,一切正常。 但是, 当我在IE 6或IE 7中加载someform.asp作为IFRAME时,example.com的cookie不会被保存。 在Firefox中,这个问题不会出现。 出于testing目的,我在http://newmoon.wz.cz/test/page.php上创build了一个类似的设置。 example.com使用基于cookie的会话(而且我无能为力),所以没有cookies, process.asp将不会执行。 如何强制IE保存这些cookie? 嗅探HTTPstream量的结果:在GET /someform.asp响应中,有一个有效的每会话Set-Cookie头(例如Set-Cookie: ASPKSJIUIUGF=JKHJUHVGFYTTYFY ),但在POST /process.asp请求上,没有Cookie头在所有。 编辑3:一些AJAX +服务器端脚本显然能够避开这个问题,但是这看起来非常像一个bug,再加上它会打开一个全新的安全漏洞 。 我不希望我的应用程序使用bug +安全漏洞的组合,只是因为它很容易。 编辑: P3P的政策是根源 ,下面的全面解释。