第三方cookie與搜索引擎+網站廣告原理

標籤:des   cWeb   style   blog   http   ar   io   color   os   

cookie

摘自 : http://www.williamlong.info/archives/3125.html

關於cookie的安全知識 :http://shaoshuai.me/tech/2014/08/16/cookie-theft-and-session-hijacking.html

Cookie是什麼

  Cookie在英文中是小甜品的意思,但在計算機語言中,Cookie指 的是當你瀏覽某網站時,網站存儲在你電腦上的一個小文本文件,伴隨著用戶請求和頁面在 Web 伺服器和瀏覽器之間傳遞。它記錄了你的用戶ID,密碼、瀏覽過的網頁、停留的時間等信息,用於用戶身份的辨別。Cookie通常是以 user@domain格式命名的,user是你的本地用戶名,domain是所訪問的網站的域名。

  為什麼要Cookie

   因為HTTP協議是無狀態的,對於一個瀏覽器發出的請求,伺服器無法區分是不是同一個來源,無法知道上一次用戶做了什麼。所以,需要額外的數據用於維護 會話。 Cookie 正是這樣的一段隨HTTP請求一起被傳遞的額外數據,用於維護瀏覽器和伺服器的會話。我們可以想像一個場景,你沒有登錄京東時在京東上購物,選擇了3件商 品放入購物車,在結算時,京東為什麼還能知道這三件商品是什麼?沒錯,是Cookie!

  Cookie的工作原理

   Cookie利用網頁代碼中的HTTP頭信息,伴隨著用戶請求和頁面在 Web 伺服器和瀏覽器之間傳遞。例如:當你在瀏覽器地址欄中鍵入了Amazon的URL,瀏覽器會向Amazon發送一個讀取網頁的請求,並將結果在顯示器上顯 示。在發送之前,該網頁在你的電腦上尋找Amazon網站設置的Cookie文件,如果找到,瀏覽器會把Cookie文件中的數據連同前面輸入的URL一 同發送到Amazon伺服器。伺服器收到Cookie數據,就會在他的資料庫中檢索你的ID,你的購物記錄、個人喜好等信息,並記錄下新的內容,增加到數 據庫和Cookie文件中去。如果沒有檢測到Cookie或者你的Cookie信息與資料庫中的信息不符合,則說明你是第一次瀏覽該網站,伺服器的CGI 程序將為你創建新的ID信息,並保存到資料庫中。

  關於Cookie的一些知識點

  1、Cookie是基於瀏覽器的,因此當電腦上安裝多個瀏覽器時,伺服器會生成多個Cookie。雖然是同一個人,但伺服器是識別為多個用戶。

2、Cookie是基於瀏覽器的,因此當同一台電腦有多個人使用時,伺服器也只會生成一個Cookie。雖然是多個人,但伺服器會認為是一個用戶。

3、Cookie是無法跨設備進行設置的。比如我們在單位和家裡分別使用兩台電腦,即使我們使用同一種同一版本的瀏覽器,我們還是生成了兩個Cookie,伺服器會認為是兩個用戶。(PS:現在有些瀏覽器可以同步數據,比如Chrome、Friefox,可以避免這種問題)

第三方cookie

摘自:http://www.williamlong.info/archives/3125.html

 第一方Cookie和第三方Cookie

  大多數的第三方監測工具和網站分析工具都會採用第三方Cookie。所謂第一方和第三方的說法,是用來確定Cookie的歸屬的,這個歸屬是指Cookie中記錄的域(domain)。第一方和第三方的唯一區別只是:Cookie中的域名是否和被訪問網站的域一樣,是就是第一方,否就是第三方。舉個例子:如果你訪問網站www.chinawebanalytics.cn的時候,網站在你的電腦上設置了一個Cookie,裡面的記錄的域名也是www.chinawebanalytics.cn,那麼這個Cookie就是第一方的,歸你訪問的網站www.chinawebanalytics.cn所有。而如果你訪問網站www.chinawebanalytics.cn時,在你的計算機中設置的Cookie的域名是www.abc.com,那麼這個Cookie就是第三方Cookie,歸www.abc.com所有。

  所以,第一方Cookie並不一定需要由某個網站自己的伺服器給自己建立,別的網站也能為它建立;而且,第一方Cookie也不一定是能由某個網站自己讀取的,它完全可能由第三方讀取。

 

 

第三方cookie試驗

示例場景:

1、廣告服務網站 www.c.com,   提供一個廣告js腳本 statistics.js,會給客戶端設置cookie, 用於識別用戶,

2、站點 www.a.com,siteA.html 嵌入對 www.c.com站點的 statistics.js 的引用,並提供 跳轉到 www.c.com 網站 cookie顯示頁面 showcookie.php。

3、站點 www.b.com, siteB.html同2

4、www.c.com showcookie.php 列印標識用戶的 cookie。

用戶瀏覽 a 和 b 網站,獲得c網站頒發的唯一個一個用戶標識cookie, 在他們的頁面上點擊跳轉到c網站的鏈接, c網站的showcookie頁面可以列印 標識用戶的 cookie。

作為廣告服務商, 不僅僅可以獲得訪問廣告頁面的點擊量,

利用referer可以區分從哪個網站跳轉到目標廣告頁面(這個跳轉過程,一般是請求了廣告商的統計鏈接URL,其中帶著廣告頁面的URL,廣告服務上記錄下來自的網站,然後跳轉到廣告頁面),

廣告服務商可能在好多網站都投放相同廣告,同一個用戶可能點擊了,不同網站的相同廣告,利用第三方cookie標識,標識了用戶,可以區分出來,這些點擊來自同一個用戶。

 

下面給出代碼:

網站c的 statistics.php

通過header 介面,設置了第三方cookie

同時其中的js設置cookie的語句,設置後的cookie為 各自網站的域名, 這樣看出第一方cookie不一定是第一方代碼設置的。據說谷歌的廣告策略是,是使用第一方cookie,就是這種js設置的cookie。

<?phpheader(『P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"『);header("Set-Cookie: thirdcookie=1;path=/;"); ?>function setCookie(c_name,value,expiredays){var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString()+";domain=www.C.com;")}setCookie("firstSubjectCookie", "1")

 

siteA.html

點擊連接,帶著從www.c.com獲得的第三方cookie,跳轉到第三方的cookie列印頁面。

<html><head> <script type="text/javascript" src="https://www.getit01.com/getimg_360.php?url=http://www.C.com/statistics.php"></script> <style> </style></head> <body> <h1>hello world! this is site A</h1> <a href="http://www.c.com/showcookie.php">go to www.c.com</a></body></html>

 

siteB.html

<html><head> <script type="text/javascript" src="https://www.getit01.com/getimg_360.php?url=http://www.C.com/statistics.php"></script> <style> </style></head> <body> <h1>hello world! this is site B</h1> <a href="http://www.c.com/showcookie.php">go to www.c.com</a></body></html>

 

showcookie.php

網站c的 顯示cookie頁面

<html><head> <style> </style></head> <body><h1>hello world! siteC with cookie=<?phpecho $_COOKIE[『thirdcookie『];?></h1></body></html>

 

截圖:

showcookie

 

 

搜索引擎+網站廣告方案

經常看到,自己在搜索引擎中搜到的關鍵字,在其他網頁的廣告區域顯示出來,如下圖。

或者在購物網站上的搜索商品,在其他網站上廣告位置上顯示出來。

 

研究了第三方cookie,才知道其中原因:

1、你在搜索引擎上搜過的關鍵字,搜索引擎給你記住,並給設置了一個 用戶標識cookie,如下圖中  BAIDUID

2、當你訪問了嵌有百度推廣廣告的網頁時候,此網頁會向百度相同域名請求廣告資源, 此請求會帶著 BAIDUID cookie

百度接受到這個cookie後,知道你是之前搜索過的用戶,在後台中找到你搜索過的關鍵字,生成廣告鏈接,發給嵌入百度廣告的網頁,網頁顯示,如下圖,cookie中確實有baidu.com第三方的BAIDUID。

 

第三方cookie與搜索引擎+網站廣告原理

標籤:des   cWeb   style   blog   http   ar   io   color   os   


推薦閱讀:

單頁式網站的免費推廣策略,知道這五招就夠了
優秀互聯網運營必讀的書有哪些?
網站集
我整理的一些有趣網站(持續更新中...8.8最後更新)——1
不會PS和AI也能修圖做海報?Fotor這款Web App網站實在太強大!

TAG:廣告 | 網站 | 搜索 | 搜索引擎 | 原理 | 索引 | 第三方 |