不幸的是,您和合作夥伴網站都需要設置標題。
替代方案:
- 如果你不希望合作伙伴網站上設置頭,一種選擇是降低安全水平(IE)或授予在瀏覽器中訪問第三方Cookie(在FF)設置。每個客戶都必須這樣做,所以這可能不是一個有吸引力的解決方案。
- 使用
localStorage
(HTML5 thingy - 支持localStorage
的瀏覽器允許訪問存儲在localStorage中的站點和iFrame內容)。這可能在短期內不可行,因爲它要求您和您的合作伙伴網站實現localStorage
的儲存/讀取信息,而不是每個瀏覽器都支持它(尤其是舊版IE瀏覽器)。
增加一個基本策略標題(理想情況下,你應該生成自己的政策,是直線前進 - 檢查以下項目#2)
在PHP加入這一行:
<?php header('P3P: CP="CAO PSA OUR"'); ?>
在ASP。淨:
HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\"");
在HTML網頁:
<meta http-equiv="P3P" content='CP="CAO PSA OUR"'>
關於你提到的其他問題:
1)P3P頭指的是HTTP頭,提供一些所謂的一個compact policy給瀏覽器。如果沒有這樣的政策,IE(最值得注意的)和其他瀏覽器將阻止訪問第三方cookie(用於指代iFrame的cookie)來保護用戶的隱私問題。
至於谷歌分析去,都您的網站和合作夥伴網站仍需要配置cross domain tracking作爲他們的文檔中列出。
2)您可以使用此基本政策頭(這是不足以解決iframe的餅乾):
P3P:CP = 「CAO PSA OUR」
或產生你自己。如果您不確定這些術語的含義,請參見this。
要生成此類政策,您可以使用在線編輯器,如p3pedit.com或IBM的tool,其中提供了一組問題並允許您提供答案。這使您可以輕鬆快速生成此類政策。您可以生成policy XML,compact policy等。
3)您可以嘗試上面提到的兩種方法。
步驟的策略添加到您的整個網站
- 生成一層緻密的策略(使用前面提到的工具之一),或使用基本政策
- 在IIS,右鍵單擊所需的頁面,目錄或站點,然後單擊「屬性」。
- 在HTTP標題選項卡上,單擊添加。
- 在自定義標題名稱字段中,輸入P3P。
- 在自定義標題值字段中,輸入您的Compact P3P策略(或上面的基本策略),然後單擊確定。
- 在阿帕奇,這樣的mod_header線將做到:
Header append P3P "CP=\"CAO PSA OUR\""
希望的部份幫助。
@eduardocereto:增加了一些代碼示例。 – Mrchief 2011-08-16 15:35:55