Cookies是壹種允許網站服務器在客戶端的硬盤或內存中存儲少量數據,或者從客戶端的硬盤中讀取數據的技術。Cookies是壹個非常小的文本文件,當妳瀏覽壹個網站時,它被Web服務器放在妳的硬盤上。它可以記錄您的用戶ID、密碼、您訪問的頁面、停留的時間以及其他信息。當妳再次來到該網站時,該網站可以讀取Cookies並獲得妳的相關信息,因此妳可以采取相應的行動,例如在頁面上顯示歡迎標語,或者允許妳直接登錄而無需輸入ID或密碼。
本質上可以看作是妳的身份證。但是Cookies不能作為代碼執行,也不能傳播病毒,而且是妳專屬的,只能被提供它的服務器讀取。保存的信息片段以“名稱-值對”的形式存儲,“名稱-值對”只是壹段命名的數據。壹個網站只能獲取它放在妳電腦上的信息,它無法從其他Cookies中獲取信息,也無法獲取妳電腦上的其他任何東西。
Cookies中的大部分內容都是加密的,所以壹般用戶看起來只是無意義的字母數字組合,只有服務器的CGI處理器才知道它們的真實含義。
Cookies是我們訪問的網站所傳輸的存儲在用戶電腦硬盤中的文本文件或數據,因此它們在硬盤中的存儲位置與所使用的操作系統和瀏覽器密切相關。在Windows 9X系統的計算機中,Cookies文件的存儲位置是C:WindowsCookies,在Windows NT/2000/XP的計算機中,Cookies文件的存儲位置是文檔和設置用戶名Cookies。
硬盤中的Cookies文件可以通過網頁瀏覽器讀取,其命令格式為:用戶名@網址[數字].txt,比如作者電腦中的壹個Cookies的文件名為ch@163[1].txt,需要註意的是,硬盤中的Cookies屬於文本文件,而不是程序。
Cookies設置
在IE的“工具/互聯網選項”的“常規”標簽中選擇“設置/查看文件”,就可以查看電腦中保存的所有Cookies。這些文件通常以user@domain的格式命名,其中user是您的本地用戶名,domain是您訪問的網站的域名。如果使用NetsCape瀏覽器,則存儲在“CROGRAMFILESNETS- CAPEUSERS”中。與IE不同,NETSCAPE使用壹個Cookie文件來記錄所有網站的Cookie。
我們可以適當設置cookies:打開工具/互聯網選項中的隱私選項卡(註意這個設置只存在於IE6.0中,其他版本的IE只需點擊工具/互聯網選項的安全選項卡中的自定義級別按鈕就可以調整cookies的安全級別)。通常可以調整到“中高”或“高”位置。大多數論壇網站需要使用Cookie信息。如果妳從來不去這些地方,妳可以設置安全級別為“阻止所有Cookies”。如果您只想禁止個別網站的Cookie,您可以單擊“編輯”按鈕,將要阻止的網站添加到列表中。在“高級”按鈕選項中,您可以設置第壹方Cookie和第三方Cookie。第壹方Cookie是妳正在瀏覽的網站的Cookie,第三方Cookie是妳沒有瀏覽的網站發送給妳的Cookie。通常,您應該為第三方Cookie選擇“拒絕”。如果需要保存Cookie,可以使用ie的“導入導出”功能,打開“文件/導入導出”,按照提示進行操作。
書寫和閱讀Cookies
Cookies集合是附加在Response對象和Request對象上的數據集合,使用時需要在Response或Request之前。
用於向客戶端發送Cookies的語法通常是:
當設置不存在的cookie集時,它將在客戶端上創建,如果cookie已經存在,它將被替換。因為cookie是作為HTTP傳輸的頭信息的壹部分發送給客戶端的,所以將cookie發送給客戶端的代碼通常放在發送給瀏覽器的HTML文件的標簽之前。
如果用戶想要讀取cookie,他們必須通過以下方式使用請求對象的cookie集合:
需要註意的是,只有在服務器將任何數據下載到瀏覽器之前,瀏覽器才能與服務器交換Cookies的數據。壹旦瀏覽器開始接收服務器下載的數據,Cookies的數據交換就會停止。為了避免錯誤,回復。應該在程序和瀏覽器前面加上Buffer=True。
Cookies的應用
幾乎所有的網站設計者在設計網站時都會使用Cookie,因為他們都希望為瀏覽網站的用戶提供壹個更加友好和人性化的瀏覽環境,同時也能更加準確地收集訪問者的信息。
網站訪客數量管理
由於使用了代理服務器和緩存,幫助網站準確統計訪問者數量的唯壹方法就是為每個訪問者建立壹個唯壹的ID。使用Cookie,網站可以完成以下任務:測量有多少人訪問過它;確定訪客中有多少是新用戶(即首次訪客),有多少是老用戶;確定用戶訪問網站的頻率。
通常,網站設計者使用後臺數據庫來實現上述目標。當用戶第壹次訪問網站時,網站會在數據庫中創建壹個新的ID,並通過Cookie將該ID發送給用戶。當用戶再次訪問時,網站在用戶ID對應的計數器上加1,得到用戶的訪問次數或判斷用戶是新用戶還是老用戶。
根據用戶的喜好定制網頁的外觀。
壹些網站設計者為用戶提供了改變網頁內容、布局和顏色的權利,允許用戶輸入自己的信息,然後通過這些信息修改網站的壹些參數,定制網頁的外觀。
實現電子商務網站中的“購物籃”等功能。
妳可以用Cookie來記錄用戶的ID,這樣當妳往購物籃裏放新東西的時候,網站就可以記錄下來,把妳的ID記錄在網站的數據庫裏。當妳“買單”時,網站通過ID在數據庫中搜索妳所有的選擇,就能知道妳的購物籃裏有什麽。
壹般情況下,壹個網站的數據庫可以存儲妳選擇的內容,妳訪問的網頁,妳在表格中填寫的信息等。包含您的唯壹ID的Cookie存儲在您的計算機中。
餅幹的缺陷
Cookie雖然應用廣泛,但是可以實現壹些其他技術無法實現的功能。但也存在壹些不完善的地方,給應用帶來不便。
很多人用壹臺電腦的問題。
任何壹臺在公共場合使用的電腦或者多臺在辦公室或者家裏使用的電腦都會被兩個以上的人同時使用。這樣,當妳用它在網上超市購物時,網上超市或網站會在這臺機器上留下壹個Cookie,以後可能會有人試圖用妳的賬號購物,這就帶來了不安全的可能。當然,這在壹些使用Windows NT或UNIX等多用戶操作系統的計算機上不會成為問題。因為在多用戶操作系統下,不同賬號的Cookie放在不同的地方。
當Cookies被刪除時
如果您的瀏覽器無法正常工作,您可以刪除計算機上的所有Internet臨時文件。然而,壹旦妳這樣做,妳將失去所有的餅幹。當您再次訪問網站時,網站會認為您是新用戶,並為您分配新的用戶ID和新的Cookie。這樣壹來,網站統計的新老用戶比例就會出現偏差,妳就很難恢復過去保存的參數選擇了。
當壹個人使用多臺計算機時
有些人經常在壹天內使用多臺電腦。比如辦公室有電腦,家裏有電腦,移動辦公用筆記本電腦。除非網站使用特殊技術解決這個問題,否則妳在這三臺機器上會有三個不同的Cookies文件,在這三臺機器上訪問的任何網站都會把妳當成三個不同的用戶。
防止餅幹泄漏
想知道妳訪問的網站是否有Cookies寫在妳的硬盤或者內存裏?只需遵循以下步驟,您就可以了解和控制您正在訪問的網站的Cookies信息。
第壹步點擊IE窗口中的工具-瀏覽器選項,打開瀏覽器選項設置窗口;
第二步在“互聯網選項”設置窗口中點擊“安全”選項卡,然後點擊“自定義級別”按鈕進入“安全設置”窗口;
在“安全設置”窗口中找到“Cookies”設置項。“cookie”設置下有兩個子選項,其中“允許cookie存儲在您的電腦上”是指存儲在用戶電腦硬盤上的cookie文件;“允許使用每個對話cookie(不存儲)”是指存儲在用戶計算機內存中的cookie信息。存儲在硬盤中的Cookie文件是永久的,而存儲在內存中的cookie信息是臨時的。如果妳想讓IE在即將收到所有來自網站的Cookies時進行提示,可以選擇上面兩個子選項中的“提示”項。當然,妳也可以選擇“Enable”讓IE接受所有的Cookies信息(這也是IE的默認選項);如果選擇了“禁止”,則不允許網站在您的電腦上存儲cookie,並且網站不能讀取您電腦中已經存在的cookie。
IE6.0提供了更可靠的個人隱私和安全保護措施,允許用戶控制瀏覽器發出多少信息。Internet選項窗口中增加了壹個隱私選項卡(圖1),用戶可以在瀏覽時直接設置隱私級別,並根據需要控制計算機上其他站點使用的Cookies。如果我們正在瀏覽的網站使用了Cookie,瀏覽器狀態欄中會出現壹個黃色的感嘆號。雙擊後可以打開隱私報告對話框,用戶可以在這裏查看具體的隱私策略,也可以直接點擊上述“隱私”選項卡中的“設置”按鈕來調整安全隱私級別。
在“通用”選項卡中增加了“刪除cookie”按鈕(圖2),方便用戶直接清除本機的cookie。此外,在工具選項高級選項卡中添加了壹些進壹步提高安全性的選項(如關閉瀏覽器時清除Internet臨時文件)。事實上,如何更好地保護個人隱私和安全是微軟下壹代中的關鍵技術”。NET”戰略軟件。現在IE6.0已經嘗試邁出了第壹步。
另外,由於Cookies的信息並不都是以文件的形式存儲在電腦中,有些信息是存儲在內存中的。比如當妳瀏覽網站時,web服務器會自動在內存中生成cookie,當妳關閉IE瀏覽器時,它會自動刪除cookie。那麽上面介紹的兩種方法都不行,我們需要使用註冊表編輯器來修改系統設置。需要註意的是,修改註冊表前請做好備份,以便出現問題後可以順利恢復。
運行Regedit,找到以下鍵值:HKEY _ local _ machinesoftwarecrosoftwindowscurentversioninternet設置Scachespecial Paths Cookies,這是內存中Cookies的鍵值。刪除該鍵值。至此,無論Cookies以何種形式存在,我們都不用再害怕了。
最後需要說明的是,杜絕Cookies可以增強妳電腦的信息安全,但也有壹些弊端。比如在壹些需要Cookies支持的網頁上,會出現壹些莫名其妙的錯誤。壹個典型的例子就是以後不能使用壹些網站的免費郵箱。
餅幹作弊
通過分析Cookie的格式,我們知道最後兩項分別是它的URL路徑和域名,服務器依靠這兩個參數來識別Cookie。壹般情況下,當我們要瀏覽壹個網站時,我們輸入的URL就是它的域名,需要通過域名管理系統DNS轉換成IP地址後才能連接。如果能在DNS上做壹些設置,把目標域名的IP地址映射到其他站點,就可以非法訪問目標站點的Cookie。
餅幹作弊其實很簡單。例如,在Win9X下的安裝目錄中,有壹個名為hosts.sam的文件,當妳以文本方式打開它時,妳會看到這樣的格式:
127.0.0.1本地主機
設置好之後,就可以實現域名解析的本地化了,只需要按照上面的格式給文件添加IP和域名,保存為hosts即可。Hosts文件實際上可以看作是壹個本地DNS系統,它可以負責將域名解釋為IP地址。其優先級高於DNS服務器,具體實現是TCP/IP協議的壹部分。
例如,我們要讀取的目標站點www.abc.com生成的Cookies信息可以使用www.def.com(我們自己的站點)。在www.def.com存儲作弊所需的文件,並通過它讀取和修改對方的Cookie。
步驟1 ping出www.def.com的IP地址:
平www.def.com
回復自192.168.0 . 1:bytes = 32 time = 20 ms TTL = 244
然後修改hosts.sam文件,如下所示:
192.168.0 . 1 www.abc.com
並將其保存為主機文件。
步驟2:讀取Cookies信息:
將用於讀取Cookie的頁面發送給www.def.com,此時連接到www.abc.com。因為修改了本地DNS域名解析,此時的網絡連接不是www.abc.com,而是www.def.com。
這樣,就可以讀取www.abc.com的本地Cookie。
同樣,您可以修改讀取的數據,並將修改後的信息寫入Cookie。修改後,刪除hosts文件,然後重新輸入www.abc.com。這時候用的Cookies數據就是妳做的數據。
總之,雖然cookie在壹定程度上可以被欺騙,給網絡應用帶來不安全因素,但是cookie本身不會造成用戶隱私的泄露,也不會給黑客提供特洛伊木馬的載體。只要合理使用,就會給站長們維護管理自己的網站和用戶的使用帶來便利。
Cookies集合具有以下屬性
1.Expires屬性(Expires attribute):該屬性用於為cookie設置壹個時間限制,在此期間只要打開網頁就可以調用保存的cookie,如果超過時間限制,就會自動刪除cookie。比如:
將Cookies的有效期設置為2004年4月1,屆時將自動刪除。如果Cookies沒有截止日期,它的生命周期將從打開瀏覽器到關閉瀏覽器開始。每次運行後,生命周期將結束,下壹次運行將再次開始。
2.域屬性:該屬性定義了Cookies傳輸的數據的唯壹性。如果只有壹個Cookies被發送到搜狐的主頁,妳可以使用下面的代碼:
3.Path屬性:定義了Cookies只發送給指定的路徑請求。如果未設置path屬性,則使用應用程序軟件的默認路徑。
4.Srcure屬性:指定用戶是否可以讀取Cookies。
5.Haskeys屬性:如果請求的cookie是壹個具有多個鍵值的cookie字典,則返回True,這是壹個只讀屬性。