尽管我的 P3P 标头是正确的,但 IE9 似乎为第三方请求保留了一个单独的列表。
我添加了以下 P3P
header('P3P:CP="NOI DSP COR CURa ADMa DEVa PSAa PSDa OUR BUS IND UNI COM NAV INT", policyref="http://domain/w3c/p3p.xml"')
当然,正确设置域。它由 IBM 工具创建。接下来,我创建了 p3p xml 文件并使用 p3p 验证对其进行了测试。
一旦我调用了一个测试文件,说明什么都没有
<?php
header ('P3P:CP="NOI DSP COR CURa ADMa DEVa PSAa PSDa OUR BUS IND UNI COM NAV INT", policyref="http://padrichem.ds1.nl.dev/w3c/p3p.xml"');
session_start();
var_dump($_COOKIE);
它说 $_COOKIE 是空的,刷新它说 $_COOKIE[PHPSESSID] = 'id'
现在我从 iframe 中的远程位置调用同一个文件,它说 $_COOKIE 是空的,刷新它说 $_COOKIE[PHPSESSID] = 'DIFFERENT id'
当我禁用保护模式时,情况并非如此。然而,并非所有域都如此。
在硬盘上,我只能找到 iFrame(第三方)调用设置的 cookie。
有谁知道为什么会发生这种情况?