是header('P3P: CP="CAO PSA OUR"');
为了什么?
它如何/为什么让这个脚本在 IE 中正常工作?
session_start();
if (!session_is_registered(pre_myusername)) {
header("location:index.php");
exit();
}
P3P 是隐私偏好平台。该值CP="CAO PSA OUR"
描述了带有令牌的紧凑策略
已识别的联系信息和其他已识别数据:可以访问已识别的在线和物理联系信息以及某些其他已识别数据。
假名分析:信息可用于创建或建立与假名标识符相关的特定个人或计算机的记录,而无需将已识别的数据(例如姓名、地址、电话号码或电子邮件地址)与记录相关联。此个人资料将用于确定个人的习惯、兴趣或其他特征,以进行研究、分析和报告,但不会用于尝试识别特定个人。例如,营销人员可能希望了解访问者对网站不同部分的兴趣。
我们自己和/或作为我们代理的实体或我们作为代理的实体:在这种情况下,代理被定义为仅代表服务提供商处理数据以完成所述目的的第三方。(例如,打印地址标签的服务提供商及其印刷局对信息不做进一步处理。)
Gumbo 已经解释了 P3P 是什么。现在,关于您的代码,session_is_registered
已弃用。您正在使用pre_myusername
常量。如果没有定义,PHP 将假定一个字符串,但不鼓励依赖这种行为。如果您真的打算使用常量,请使用大写字母以清楚起见。请注意,变量应以美元 ( $
) 为前缀。
session_start();
否则不会发送会话 cookie。$_SESSION
数组中获得。isset()
可用于检查变量是否存在(本例中为数组键)。因此,实际代码变为:
session_start();
if(!isset($_SESSION['pre_myusername'])){
header("Location: index.php");
exit();
}
有关会话函数的示例和文档,请访问PHP 手册。
header('P3P: CP="CAO PSA OUR"')
设置特定的P3P紧凑策略 (CP),该策略通常用于允许 (i) 框架中的第三方 cookie 在 Internet Explorer 中使用。
Internet Explorer 6 引入了对隐私首选项平台 (P3P) 项目的支持。P3P 标准指出,如果 FRAMESET 或父窗口引用 FRAME 或子窗口内的另一个站点,则子站点被视为第三方内容。Internet Explorer 使用默认的 Medium 隐私设置,默默地拒绝从第三方站点发送的 cookie。
文章描述了上面的CP代码:
此代码示例显示您的站点为您提供了对您自己的联系信息 (CAO) 的访问权限,任何分析的数据都只是“伪分析”,这意味着数据与您的在线角色相关联,而不是与您的物理身份相关联 (PSA ),并且您的数据不会提供给任何外部机构供这些机构使用 (OUR)。
注意这个 CP 是无效的,因为它不包含任何RETENTION或CATEGORIES令牌。