這兩天由於315的原因,Cookie這東西突然特別火,據說很多網友都忙著刪掉自己瀏覽器中的Cookie。一開始我還覺得挺無聊的,央視不懂亂說什麼啊。直到前兩天,家裡一個親戚跟我說:“原來我們上網幹什麼你們都知道啊,還看我們的郵件,這不一點隱私都沒有了嘛。太可怕了。”

我才意識到這個問題誤導得太嚴重了,做為一個多年從事網際網路Web開發工作的工程師,我覺得我應該說點什麼。下面我來給大家介紹一下Cookie,看看你的Cookie安全嗎?

1、Cookie是什麼?

央視這一點解釋的還算可以,它是一個資料包,每次訪問網站的時候瀏覽器都會將該網站的Cookie發回給網站伺服器,同時網站也可以隨意更改你機器上對應的Cookie。但有一個很重要的資訊視訊中沒有提到:Cookie不是隻有一個,而是一個網站一個,所以視訊中把它比喻成網路身份證的說法是不準確的。它不是你在網路中的唯一標識,只是你在某個網站的唯一標識。

2、Cookie中都有什麼東西?

這個取決於網站自身,視訊中說網站會儲存一些重要的使用者資訊(什麼使用者名稱、密碼、瀏覽記錄、IP地址什麼的)到Cookie裡。事實上:

普通網站都不會存重要的資訊,它們僅僅存一個你的登陸狀態,也就是你拿使用者名稱密碼換取的令牌,還有就是網站針對你的判定(比如你在這個網站上的唯一標識是什麼,你訪問的是我們的哪臺伺服器,你使用的是我們的哪個版本的產品),這些資訊你都不需要關心,它和你的隱私一點關係都沒有。

文藝一點的網站會將這些資訊進行加密,目的是防止別人偽造這些資訊欺騙網站。

央視描述的網站(在Cookie裡存使用者名稱、密碼的,也許是央視網)的做法在網際網路上是極其極其少見的,可能只有外行或者剛學網路開發的學生會這麼做,這種網站是極其不安全的,你的資訊很容易就洩漏了,所以還是少去訪問。

3、Cookie會被人竊取嗎?

視訊中已經說了,Cookie只能被放置它的網站讀取。這一點是瀏覽器保證的,這也是瀏覽器的一個重要的安全機制。如果你覺得你的瀏覽器不能保證這一點,那就換個靠譜的,比如IE9啊,Chrome啊,Firefox啊都是相當不錯的。這麼說Cookie是安全的了?也不一定,Cookie在傳輸過程中和網站方都有可能被竊取。我舉個不太恰當的例子:

我們可以把使用者訪問網站的過程比做你給網站寫一封信,信的內容可以比做你提交給網站的一些資訊(比如你的性別啊,年齡啊),Cookie可以比做信封中的寄信人,標識你是誰。那麼在整個寄信過程中,郵電局是完全有機會竊取你的信封的,而網站也可以將你的信封賣給別人。但是!!!這兩方其實已經擁有了你這封信的內容了,你覺得他們有必要偷你的信封嗎?

事實上,Cookie的盜用一般在你使用了不安全的網路(比如公共場所的WiFi),或者網站出現安全漏洞的情況下才會放生,前者發生的概率就比較低,而後者對網站造成的影響遠比Cookie被盜這點小事大很多,在網際網路公司是嚴重的故障,一經發現很快就會堵上的。

4、那他們說的什麼掌握幾億Cookie啊,又網站布碼啊什麼的,聽起來好厲害的樣子,這又是怎麼回事?

通過上面我們已經知道了,Cookie被竊取是一個比較小概率的事件,不可能達到幾億這個級別。視訊中宣稱的各種華麗的資料其實是銷售人員在忽悠廣告主,將一個很簡單的實用技術術語說得很牛逼的樣子。真相是這樣的:

我們上文提到“每次訪問網站的時候瀏覽器都會將該網站的Cookie發會給網站伺服器”。那麼如果我網站裡有一張圖片,瀏覽器訪問這張圖片的時候會發哪個Cookie呢?答案是提供圖片服務網站的Cookie。比如某網站S的頁面上有一張來自某營銷網站B的圖片,那麼它們的關係如下:

你在訪問網站S的時候,你同時也以B使用者的身份訪問了B網站。你說“我沒在B網站註冊啊,怎麼會是B網站使用者”。嘿嘿,不用你註冊,因為也不需要你知道,他是自動分配一個帳戶給你的,如果像S這類的網站多了,B網站想在不同網站之間都能定位到你,怎麼辦?把分配給你的帳戶存在B的Cookie裡就行了啊。這就是它們所謂的幾億的Cookie。至於布碼,其實就是訪問那張圖片的程式碼,甚至可能就是你在頁面中看到的廣告圖。你可能注意到B網站在拿到Cookie的同時,還獲取到了一些資訊,這些資訊是否涉及到隱私就看網站S的節操了。一般大網站只會把一些簡單的頁面資訊給B,比如看了什麼視訊啊,新聞啊等等。其目的也是讓廣告主投放的廣告更精準。至於還有說得到使用者名稱密碼什麼的,我只能說,兄弟你被釣魚了,網站是不可能販賣自已使用者的密碼的,這麼做沒有意義,估計你是訪問了什麼亂七八糟的網站,騙你填了什麼使用者名稱密碼,然後被資訊賣掉了,這和Cookie毛關係都沒有。

5、網站這麼做算侵犯隱私嗎?

這個不好說,比如你覺得你關注什麼新聞,買了什麼玩具,看了什麼視訊(愛情動作片略過)可能不算隱私。但你可能不希望別人知道你買過什麼藥,看過介紹治療某些病的網頁,這些對於很多人來說是算做隱私的。這是訪問跟蹤技術最有爭議的一點。

6、我有潔癖,就不想被跟蹤,那怎麼辦?

瀏覽器都有一個禁止第三方Cookie的功能,你只要開啟他就可以不被跟蹤了,但是!!!有可能一些網站的功能就無法使用了。所以請慎重。

7、那麼我如何保護自己的隱私不洩漏呢?

這個話題太大了,我說一點原則吧:

不要在你不清楚來源的網頁上填寫任何個人資訊,比如視訊裡說的知道你的年齡、性別、收入等等,其實就是你在不同網站填寫的資訊被他們獲取後整合得到的,因為市面上還飄著一些沒節操的公司販賣的個人資訊,他們只要以對比資料就可以跟你對上號。

敏感資訊任何網站都不要填寫,大網站雖然不會主動販賣你的資訊,但系統可能會存在漏洞,洩漏出去一些個人資訊,例子挺多的,我就不點名了。