在PHP中,使用cookie來存儲一些用戶信息是非常常見的。常規(guī)的cookie使用在大部分場景下都是沒有問題的,但是當(dāng)安全策略比較嚴(yán)格的時候,cookie的使用可能會受到限制。這時就需要用到P3P協(xié)議。
P3P,全稱是“平臺協(xié)議隱私偏好”,是W3C組織對隱私政策的一種規(guī)范,讓網(wǎng)站開發(fā)者能夠同時遵守隱私保護(hù)政策和利用用戶數(shù)據(jù)的政策。P3P協(xié)議是指,通過現(xiàn)有的隱私保護(hù)標(biāo)準(zhǔn),將網(wǎng)站的隱私政策和以cookie等方式收集的信息告訴瀏覽器,讓用戶更清楚地知道自己數(shù)據(jù)的去向和目的,增加對網(wǎng)站的信任感。
通過P3P協(xié)議,我們可以在cookie中加入特殊的頭信息,告訴瀏覽器和用戶,這個cookie所存儲的信息可能傳遞給誰,被用于什么目的等。
在PHP中使用P3P協(xié)議,需要加入一下代碼:
header('P3P: CP="CAO PSA OUR"');
下面我們可以通過js代碼來測試P3P協(xié)議使用的效果,代碼如下:
document.cookie = "TestId= 1234;path = /"; alert(document.cookie);
上面這段代碼代碼將創(chuàng)建一個名為“TestId”的cookie,并把值設(shè)置為“1234”。我們再來看看設(shè)置P3P后的代碼的例子:
document.cookie = "TestId= 1234; path = /; P3P=CP=\”CAO PSA OUR\”"; alert(document.cookie);
這者兩段代碼的唯一區(qū)別就是,第二個cookie的代碼中添加了P3P協(xié)議的頭部信息,通過這個參數(shù)告知瀏覽器這個cookie的隱私政策,如果使用IE瀏覽器,不加入P3P協(xié)議頭部信息,將無法設(shè)置cookie,同時強(qiáng)制出現(xiàn)警告信息。但是Chrome等其他瀏覽器沒有該限制。
總體來說,P3P協(xié)議是非常有用的,它確保我們在遵守隱私保護(hù)政策的同時,也能使用cookie中存儲一些信息,提高用戶的使用體驗(yàn)。但是目前,該協(xié)議已經(jīng)不再被廣泛使用,先于 2020年2月份, W3C 講 P3P 從標(biāo)準(zhǔn)中刪除。如果現(xiàn)在的你還在使用P3P協(xié)議,那么你這時候需要深思熟慮是否真的需要使用它。
上一篇php param(
下一篇php pcntl 下載