標籤: 暫無標籤

Cookie,複數形態Cookies,中文名稱為小型文本文件。指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。定義於RFC2109(已廢除)。為網景公司的前僱員Lou Montulli在1993年3月所發明。

1 COOKIE -簡介

CookieCookies實現單點登錄
Cookie是一小段文本信息,伴隨著用戶請求和頁面在Web伺服器和瀏覽器之間傳遞。Cookie包含每次用戶訪問站點時Web應用程序都可以讀取的信息。因為HTTP協議是無狀態的,對於一個瀏覽器發出的多次請求,WEB伺服器無法區分是不是來源於同一個瀏覽器。所以,需要額外的數據用於維護會話。Cookie正是這樣的一段隨HTTP請求一起被傳遞的額外數據。

因為Cookie只是一段文本,所以它只能保存字元串。而且瀏覽器對它有大小限制以及它會隨著每次請求被發送到伺服器,所以應該保證它不要太大。 Cookie的內容也是明文保存的,有些瀏覽器提供界面修改,所以,不適合保存重要的或者涉及隱私的內容。

2 COOKIE -分類

Cookie總是保存在客戶端中,按在客戶端中的存儲位置,可分為內存Cookie和硬碟Cookie。

內存Cookie由瀏覽器維護,保存在內存中,瀏覽器關閉后就消失了,其存在時間是短暫的。硬碟Cookie保存在硬碟里,有一個過期時間,除非用戶手工清理或到了過期時間,硬碟Cookie不會被刪除,其存在時間是長期的。所以,按存在時間,可分為非持久Cookie和持久Cookie。

3 COOKIE -主要用途

CookiesCookies
因為HTTP協議是無狀態的,即伺服器不知道用戶上一次做了什麼,這嚴重阻礙了互動式Web應用程序的實現。Cookie就是用來繞開HTTP的無狀態性的「額外手段」之一。伺服器可以設置或讀取Cookies中包含信息,藉此維護用戶跟伺服器會話中的狀態。

Cookie另一個典型的應用是當登錄一個網站時,網站往往會請求用戶輸入用戶名和密碼,並且用戶可以勾選「下次自動登錄」。如果勾選了,那麼下次訪問同一網站時,用戶會發現沒輸入用戶名和密碼就已經登錄了。這正是因為前一次登錄時,伺服器發送了包含登錄憑據(用戶名加密碼的某種加密形式)的Cookie到用戶的硬碟上。第二次登錄時,(如果該Cookie尚未到期)瀏覽器會發送該Cookie,伺服器驗證憑據,於是不必輸入用戶名和密碼就讓用戶登錄了。

另一個重要應用場合是「購物車」之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最後付款時提取信息。

4 COOKIE -Cookie的限制

大多數瀏覽器支持最大為4096位元組的Cookie。由於這限制了Cookie的大小,所以只好用Cookie來存儲少量數據,或者存儲用戶ID之類的標識符。用戶ID隨後便可用於標識用戶,以及從資料庫或其他數據源中讀取用戶信息。瀏覽器還限制站點可以在用戶計算機上存儲的Cookie的數量。大多數瀏覽器只允許每個站點存儲20個Cookie;如果試圖存儲更多Cookie,則最舊的Cookie便會被丟棄。有些瀏覽器還會對它們將接受的來自所有站點的Cookie總數作出絕對限制,通常為300個。

5 COOKIE -生存周期

Cookie可以保持登錄信息到用戶下次與伺服器的會話,換句話說,下次訪問同一網站時,用戶會發現不必輸入用戶名和密碼就已經登錄了(當然,不排除用戶手工刪除Cookie)。而還有一些Cookie在用戶退出會話的時候就被刪除了,這樣可以有效保護個人隱私。

Cookie在生成時就會被指定一個Expire值,這就是Cookie的生存周期,在這個周期內Cookie有效,超出周期Cookie就會被清除。有些頁面將Cookie的生存周期設置為「0」或負值,這樣在關閉瀏覽器時,就馬上清除Cookie,不會記錄用戶信息,更加安全。

6 COOKIE -使用和禁用Cookies

用戶可以改變瀏覽器的設置,以使用或者禁用Cookies。

Google Chrome

「自定義和控制」(瀏覽器地址欄右側的扳手圖標) > 選項(設置) > 高級選項(顯示高級設置)
通過cookie設置,更改cookie設置(隱私權說明 > 內容設置 > Cookie(允許站點存儲本機數據 (建議)

Konqueror

如果沒有設置cookie列表,請記住在域名前面加入「.」,例如.wikipedia.org,否則wikipedia將不會讀取cookie(針對KDE 3.3)。

微軟 Internet Explorer

如何刪除Cookie如何刪除Cookie
工具 > Internet選項 > 隱私頁調節滑塊或者點擊「高級」,進行設置。

Mozilla Firefox

處理Cookie處理Cookie
工具 > 選項 > 隱私(註:在Linux版本中,可能會是如下操作:編輯 > 屬性 > 隱私, 而Mac則是:Firefox > 偏好 > 隱私)

設置Cookies選項

設定阻止/允許的各個域內Cookie

查看Cookies管理窗口,檢查現存Cookie信息,選擇刪除或者阻止它們

Opera

按F12彈出一個菜單,從中可以快速設置允許或禁用cookie。

更多設置項目在 首選項 > 高級 > cookie

也可對不同域作不同的cookie設置。在網頁空白處 按右鍵 > 編輯站點首選項 > cookie

蘋果公司 Safari Safari > 預置 > 安全標籤

選擇以下的選項

總是 接受 Cookies

永不 接受 Cookies

接受 Cookies 僅從您瀏覽的站點(例如,不接受來自其它站點的廣告)默認的選項

您可以顯示所有駐留在您瀏覽器中的 cookies,也可隨時將它們之一刪除。

7 COOKIE -Cookies弊端

一些人反對cookies在網路中的應用,他們的理由如下:

識別不精確

如果在一台計算機中安裝多個瀏覽器,每個瀏覽器都會以獨立的空間存放cookie。因為cookie中不但可以確認用戶,還能包含計算機和瀏覽器的信息,所以一個用戶用不同的瀏覽器登錄或者用不同的計算機登錄,都會得到不同的cookie信息,另一方面,對於在同一台計算機上使用同一瀏覽器的多用戶群,cookie不會區分他們的身份,除非他們使用不同的用戶名登錄。

隱私,安全和廣告

Cookies在某種程度上說已經嚴重危及用戶的隱私和安全。其中的一種方法是:一些公司的高層人員為了某種目的(譬如市場調研)而訪問了從未去過的網站(通過搜索引擎查到的),而這些網站包含了一種叫做網頁臭蟲的圖片,該圖片透明,且只有一個象素大小(以便隱藏),它們的作用是將所有訪問過此頁面的計算機寫入cookie。而後,電子商務網站將讀取這些cookie信息,並尋找寫入這些cookie的網站,隨即發送包含了針對這個網站的相關產品廣告的垃圾郵件給這些高級人員。

偷竊Cookies和腳本攻擊

雖然cookies沒有中電腦病毒那麼危險,但它仍包含了一些敏感信息:用戶名,電腦名,使用的瀏覽器和曾經訪問的網站。用戶不希望這些內容泄漏出去,尤其是當其中還包含有私人信息的時候。

這並非危言聳聽,跨站點腳本(Cross site scripting)可以達到此目的。在受到跨站點腳本攻擊時,cookie盜賊和cookie毒藥將竊取內容。一旦cookie落入攻擊者手中,它將會重現其價值。

Cookie盜賊:搜集用戶cookie併發給攻擊者的黑客。攻擊者將利用cookie信息通過合法手段進入用戶帳戶。

Cookie投毒:一般認為,Cookie在儲存和傳回伺服器期間沒有被修改過,而攻擊者會在cookie送回伺服器之前對其進行修改,達到自己的目的。例如,在一個購物網站的cookie中包含了顧客應付的款項,攻擊者將該值改小,達到少付款的目的。這就是cookie投毒。

8 COOKIE -Cookies的替代品

鑒於cookie的局限和反對者的聲音,有如下一些替代方法:

Brownie方案,是一項開放源代碼工程,由SourceForge發起。Brownie曾被用以共享在不同域中的接入,而cookies則被構想成單一域中的接入。這項方案已經停止開發。

P3P,用以讓用戶獲得更多控制個人隱私權利的協議。在瀏覽網站時,它類似於cookie。

在與伺服器傳輸數據時,通過在地址後面添加唯一查詢串,讓伺服器識別是否合法用戶,也可以避免使用cookie。

9 COOKIE -央視315曝光網易竊取用戶信息隱私

2013年3月15日晚,央視315在行動晚會曝光了網易同意第三方公司加代碼,獲取用戶cookie信息,追蹤用戶上網行為

報道稱,為了對廣告效果進行監測,一些網站的確同意第三方公司加代碼。第三方公司通過植入代碼、獲取cookie,就可以鎖定用戶,精準投放廣告。

上一篇[腦膜瘤]    下一篇 [史卡魯]

相關評論

同義詞:暫無同義詞