header('P3P: CP="CAO PSA OUR"'); 是啥意思?做?

Posted

技术标签:

【中文标题】header(\'P3P: CP="CAO PSA OUR"\'); 是啥意思?做?【英文标题】:What does header('P3P: CP="CAO PSA OUR"'); do?header('P3P: CP="CAO PSA OUR"'); 是什么意思?做? 【发布时间】:2011-07-12 14:15:21 【问题描述】:

header('P3P: CP="CAO PSA OUR"'); 是干什么用的?

它如何/为什么让这个脚本在 IE 中正常工作?

session_start();

if (!session_is_registered(pre_myusername)) 
    header("location:index.php");
    exit();

【问题讨论】:

P3P 是电子隐私声明:CAO = 收集联系人和其他人,PSA=用于伪分析,OUR=仅由我们收到的数据。我不明白你的其余问题。 他指的是像这样的问题***.com/questions/8957769/php-session-iframe - php 会话在 iframe 内的 Chrome/Firefox 中完美运行,但在 IE 中却不行。 另见***.com/questions/8048306/… 【参考方案1】:

P3P is the Platform for Privacy Preferences. 值 CP="CAO PSA OUR" 描述了带有标记的 compact policy

contact and others (access information: What information is collected?)

已识别的联系信息和其他已识别数据:可以访问已识别的在线和物理联系信息以及某些其他已识别数据。

pseudo-analysis (purpose information: What is the collected information used for?)

假名分析:信息可用于创建或建立与假名标识符相关的特定个人或计算机的记录,而无需绑定已识别的数据(例如姓名、地址、电话号码或电子邮件地址)添加到记录中。此个人资料将用于确定个人的习惯、兴趣或其他特征出于研究、分析和报告的目的,但不会用于尝试识别特定个人。例如,营销人员可能希望了解访问者对网站不同部分的兴趣。

ours (receipient information: Who gets that collected information?)

我们自己和/或作为我们代理的实体或我们作为代理的实体:在这种情况下,代理被定义为仅代表服务处理数据的第三方提供者以完成所述目的。 (例如,服务提供商及其打印地址标签的印刷局对信息不做进一步处理。)

【讨论】:

您能告诉我您在哪里找到了这些政策的说明吗?我在 P3P 网站上找不到它们【参考方案2】:

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 Manual。

【讨论】:

这不是他问题的答案。 确实如此,但如果 OP 保留他的代码,他将来可能会遇到麻烦。只是思考的食物。【参考方案3】:

header('P3P: CP="CAO PSA OUR"') 设置了一个特定的P3P 紧凑策略 (CP),该策略通常用于允许在 Internet Explorer 中使用来自 (i) 框架的第三方 cookie。

来自Microsoft Knowledge Base article 323752。

Internet Explorer 6 引入了对隐私平台的支持 首选项 (P3P) 项目。 P3P 标准指出,如果一个 FRAMESET 或父窗口引用 FRAME 或 子窗口,子站点被视为第三方内容。 Internet Explorer,它使用默认的 Medium 隐私设置, 默默地拒绝从第三方网站发送的 cookie。

文章描述了上面的CP代码:

此代码示例表明您的网站为您提供了访问您自己的 联系信息 (CAO),任何分析的数据仅 “伪分析”,这意味着数据已连接到您的 在线角色而不是您的物理身份 (PSA),并且您的 数据不提供给任何外部机构供这些机构使用 (我们的)。

注意这个 CP 是无效的,因为它不包含任何 RETENTION 或 CATEGORIES 令牌。

【讨论】:

以上是关于header('P3P: CP="CAO PSA OUR"'); 是啥意思?做?的主要内容,如果未能解决你的问题,请参考以下文章

用P3P header解决iframe跨域访问cookie

用P3P header解决iframe跨域访问cookie

用P3P header解决iframe跨域访问cookie

PHP会话问题*仅在IE中*

有人知道下面的代码片段是啥意思吗?

Facebook:允许ieiframes呈现页面并允许AJAX调用