ookie 簡介
什么是 cookie
cookie,有時我們也用其復數形式 cookies,是服務端保存在瀏覽器端的數據片段。以 key/value的形式進行保存。每次請求的時候,請求頭會自動包含本網站此目錄下的 cookie 數據。網站經常使用這個技術來識別用戶是否登陸等功能。
簡單的說,cookie 就是服務端留給計算機用戶瀏覽器端的小文件。
Cookie 做為請求或響應報文發送,無形中增加了網絡流量。
Cookie 是明文傳送的安全性差。
Cookie 中保存數據是不穩定的,用戶可以隨時清理 cookie,各個瀏覽器對 Cookie 有限制,使用上有局限
廬山真面目
chrome 的 cookie 位置:
C:\Users\lfy\AppData\Local\Google\Chrome\User Data\Default\Cookies
ie 中 cookie 位 置 : C:\Users\lfy\AppData\Local\Microsoft\Windows\InetCache 點擊設置->查看對象即可
chrome 中查看 cookie
cookie 如上圖所示
從上圖可以看出 cookie 是鍵值對的形式,有過期時間(Max-Age,session 表示在這個會話期內有效)。
cookie 原理
1)總的來看 Cookie 像是服務器發給瀏覽器的一張“會員卡”,瀏覽器每次向服務器發送請求時都會帶著這張“會員卡”,當服務器看到這張“會員卡”時就可以識別瀏覽器的身份。實際上這個所謂的“會員卡”就是服務器發送的一個響應頭:
2)如圖 Set-Cookie 這個響應頭就是服務器在向服務器發“會員卡”,這個響應頭的名字是 Set-Cookie , 后 邊 JSESSIONID=95A92EC1D7CCB4ADFC24584CB316382E 和 Path=/Test_cookie,是兩組鍵值對的結構就是服務器為這個“會員卡”設置的信息。瀏覽器收到該信息后就會將它保存到內存或硬盤中。
3)當瀏覽器再次向服務器發送請求時就會攜帶這個 Cookie 信息:
回到頂部
Cookie 的使用
創建對象
cookie 是由服務端創建的,由瀏覽器端保存的。所以創建對象我們應該在服務端創建 cookie,cookie 的創建方法:
1)創建一個 CookieServlet
在 Servlet 的 doPost()方法中編寫如下代碼:
//創建一個Cookie對象 Cookie cookie=new Cookie("username", "zhangsan"); //將Cookie對象放入response對象中response.addCookie(cookie);
2)在瀏覽器中訪問該 Servlet,會發現響應頭中出現如下內容: Set-Cookie: username=zhangsan
如此就成功的向瀏覽器設置了一個 Cookie,當我們在刷新頁面時會發現瀏覽器的請求頭中出現如下代碼:
Cookie: username=zhangsan
3)同樣我們還可以同時設置多個 Cookie:
//創建一個Cookie對象 Cookie cookie1=new Cookie("username", "zhangsan"); Cookie cookie2=new Cookie("password", "123456"); Cookie cookie3=new Cookie("age", "20"); //將Cookie對象放入response對象中 response.addCookie(cookie1); response.addCookie(cookie2); response.addCookie(cookie3);
瀏覽器會按以下形式發送 Cookie:
Cookie: username=zhangsan; password=123456; age=20
4)設置 Cookie 就是兩個步驟: 創建 Cookie 對象
將 Cookie 對象加入到 response 中
設置 cookie
cookie 的有效時間
1)經過上邊的介紹我們已經知道 Cookie 是存儲在瀏覽器中的,但是可想而知一般情況下瀏覽器不可能永遠保存一個Cookie,一來是占用硬盤空間,再來一個 Cookie 可能只在某一時刻有用沒必要長久保存。
2) 所以我們還需要為 Cookie 設置一個有效時間。
3)通過 Cookie 對象的 setMaxAge()可以設置 Cookie 的有效時間。
其中 setMaxAge()接收一個 int 型的參數,來設置有效時間。參數主要有一下四種情況:
Cookie 立即失效,下次瀏覽器發送請求將不會在攜帶該 Cookie
表示有效的秒數 60 就代表 60 秒即 1 分鐘,也就是 Cookie 在 1 分鐘后失效。
設置為負數表示當前會話有效。也就是關閉瀏覽器后 Cookie 失效
如果不設置失效時間,則默認當前會話有效。
cookie 的路徑
1) Cookie 的路徑指告訴瀏覽器訪問那些地址時該攜帶該 Cookie,我們知道瀏覽器會保存很多不同網站的 Cookie,比如百度的 Cookie,新浪的 Cookie,騰訊的 Cookie 等等。那我們不可能訪問百度的時候攜帶新浪的 Cookie,也不可能訪問每個網站時都帶上所有的 Cookie 這是不現實的,所以往往我們還需要為 Cookie 設置一個 Path 屬性,來告訴瀏覽器何時攜帶該Cookie。
2)我們同過 Cookie 的 setPath()來設置路徑,這個路徑是由瀏覽器來解析的所以/代表服務器的根目錄。
如:設置為 /項目名/路徑 cookie.setPath(“/項目名/路徑”),這樣設置只有訪問“/項目名/路徑”下的的資源才會攜帶 Cookie
如:/項目名/路徑/1.jsp 、/項目名/路徑/hello/2.jsp 等
如果不設置,默認會在訪問“/項目名”下的資源時攜帶如:“/項目名/index.jsp” 、 “/項目名/hello/index.jsp”
Cookie cookie=new Cookie("username", "abc"); cookie.setMaxAge(60*60*24);//秒為單位,一天后過期 cookie.setPath(getServletContext().getContextPath()+"/"); resp.addCookie(cookie); resp.sendRedirect(getServletContext().getContextPath()+"/index.jsp");
推薦博客
程序員寫代碼之外,如何再賺一份工資?
讀取 cookie
通過以上步驟,我們將 cookie 保存到了瀏覽器端。那么我們如何讀取 cookie 中的值呢。分析:
cookie 被設置進入瀏覽器后,每次請求都會攜帶 cookie 的值,所以我們需要從 request 中取出 cookie 進行解析。
天新買了一臺電腦,打開瀏覽器搜索了一些關于心理學方面的書,結果后面瀏覽網頁的時候,那些網站上總有一塊廣告區是專門為我展示心理學方面的書籍,引誘我購買。
我相信大家也都有這種百度搜索什么,然后當天或者后面幾天就給你推送相關的廣告的經歷吧。其實這種感覺就好像被一雙無形的眼睛時時刻刻監視著一樣,非常讓人心里很不舒服。
那么到底是監視或者出賣著我們的信息?我想大家肯定都會懷疑是不是瀏覽器、百度、qq、淘寶、360等等軟件竊取了我們的隱私,但其實這并不是我們認為的第三方軟件在竊取我們的隱私,當然也沒有一雙眼睛在時刻監控著我們。
今天小編所說不僅是要告訴大家發生這種情況真正的原因,還要教大家怎么屏蔽這種推送方式的廣告。
不知道大家在使用百度、360這類搜索引擎的時候,有沒有在網頁底部這種類型的小字。其實真正的原因就藏在這些小字中。
點擊打開“使用百度前必讀”會發現有一個“隱私權保護聲明”,在這個隱私權聲明中有個“百度隱私保護平臺”的超鏈接,我們點擊這個選項就能找到我們想要了解的內容了。
這個聲明還是蠻長,有興趣的小伙伴可以去看看,這邊我就截取和我們文章內容有關的幾段話。找到“二、我們如何使用 Cookie 和同類技術”,然后我們可以看到下面幾段話。
其實泄露我們隱私的罪魁禍首就是我們上面圖片中提到的Cookie。這個Cookie可不是我們英文翻譯過來的餅干的意思,在我們程序界是指某些網站為了辨別用戶身份而儲存在用戶本地終端(Client Side)上的數據(通常經過加密)。用白話來說,cookie就是記錄你在瀏覽器里所進行的操作的緩存文件。
大家可能都遇過提示你保存網站賬號和密碼的彈窗,這個其實就是cookie的一種功能,一種表現形式。
而上面截取的聲明圖片中幾段話的意思,大家如果看不懂的話,可以通俗的理解為“搜索引擎(百度、360等)說:“用戶搜索過的記錄,為了更方便大家,我們都以緩存文件的方式保存在你的電腦上,當你在訪問我們合作伙伴的網站的時候,他們的信譽在我們這邊都是不錯的,我們允許他們訪問用戶電腦上那些包含搜索記錄之類的緩存文件,以便向用戶推送所需求的廣告,來幫助大家”。
其實不僅僅是百度,360這類搜索引擎,淘寶和京東、qq等等這類第三方軟件也會利用cookie這類功能緩存我們的搜索記錄,然后向我們展示廣告。
看到這大家應該都明白,這一切的罪魁禍首都是cookie了吧。其實cookie的出現真的方便了不少,但在某些方面又著實讓人厭煩。
我們有哪些方法可以阻止第三方獲取我們的cookie?
1、清除上網痕跡。并把清除cookie選項勾上,以360瀏覽器為例,點擊右上角“打開菜單”圖標,然后“清除上網痕跡”,就行了。
2、阻止第三方cookie和網站數據。以360瀏覽器為例,進入“設置”后,找到“高級設置”,然后“網頁內容高級設置”,就能看到“阻止第三方cookie和網站數據”選項,勾上就行了。
不過刪除cookie以后,有時場景是非常不方便的,比如進入每個網站,每次都要輸入賬號密碼,對于某些人來說肯定是非常難受的。
今天的內容就到這兒了,有人私信問小編說愛奇藝、騰訊視頻和優酷這視頻平臺上下載的qsv、kuv這種特殊格式的視頻,怎么上傳到其它網站或者對其進行剪輯,在進行這些操作前,大家需要下載迅捷視頻轉換器,將這些格式轉換成普通格式就行了。然后便能夠進行剪輯了。
最后由衷的感謝大家的閱讀,你們的支持便是對小編最大的鼓勵。
當你首次登錄網站時,你會輸入用戶名和密碼。在后臺,網站的服務器驗證這些憑據是否正確。一旦確認你的身份無誤,服務器就會創建一個Cookie,并將其發送到你的瀏覽器。這了解Cookie登錄:原理、實踐與安全指南個Cookie包含了一個獨特的身份驗證令牌,它代表了你的登錄會話。而這個包含用戶一些信息的小型數據片段,就是Cookie。
用戶的瀏覽器會存儲這個Cookie,并在后續訪問同一網站時自動將其發送回服務器。服務器接收到這個Cookie后,會解析里面的令牌,確認用戶已經通過身份驗證,從而允許用戶訪問他們的賬戶而無需重新登錄。這個過程對用戶來說是透明的,他們通常不會意識到這一切都是通過Cookie在運作。
為了保持安全性,這些身份驗證Cookies通常都是加密的,并且會在一段時間后過期,這就是為什么有時候用戶會被要求重新登錄,尤其是在一段時間沒有訪問網站之后。此外,為了進一步保護用戶的安全,許多網站還會采取措施,如僅在加密連接(HTTPS)下發送Cookies,這樣可以防止敏感信息在傳輸過程中被攔截。
Cookie登錄極大地優化了用戶的網上體驗。它消除了重復登錄的需要,因為一旦用戶輸入一次登錄信息,Cookie就會存儲這些數據并在下次自動填寫。這樣,用戶就可以迅速訪問他們的賬戶,無需每次訪問時都進行繁瑣的輸入。這種自動化的登錄過程不僅節約了時間,也提升了訪問速度,使用戶能夠無縫地在網頁間切換,增加了整體的瀏覽效率。
某些網站平臺,在第三方工具的幫助下,可以直接使用Cookie登錄平臺的賬戶。給多賬戶管理者提供便利的同時也暴露了一些安全隱患,我們下文會介紹到。
Cookies的另一重要功能是能夠幫助網站提供個性化的用戶體驗。通過記錄用戶的選擇和行為,Cookies使網站能夠記憶用戶的偏好設置和瀏覽習慣。這意味著網站可以自動調整顯示內容,以適應用戶的喜好,如加載個人化的主題或展示用戶感興趣的產品。我們總結了以下Cookie能幫助網站提供的一些個性化體驗:
當你訪問一個網站時,經常會看到一個提示:詢問你是否接受Cookie。
這是因為根據各地的隱私和數據保護法規,例如歐洲的通用數據保護條例(GDPR),網站必須獲取用戶的同意才能跟蹤他們的信息。
Cookie是網站追蹤用戶信息的一種方式,它們可能記錄你的瀏覽習慣、購物車內容以及個性化設置等數據。通過這個提示,網站在收集和使用你的數據之前提供了透明度,并給予你選擇權,你可以決定是否允許網站使用Cookie來改善你的瀏覽體驗。這個過程不僅保護了你的個人隱私,也使你能夠控制自己的數據如何被網站使用。
Chrome瀏覽器可以創建多個用戶配置文件,每個配置都會有自己的Cookie、緩存和瀏覽器擴展。通過這種方法,我們可以實現在一臺電腦上,使用Cookie登錄不同的facebook賬戶。
但是,由于現在的網站除了利用Cookie跟蹤用戶外,還會使用瀏覽器指紋技術去跟蹤用戶。訪問瀏覽器指紋檢測網站BrowserScan,我們可以看到3個多開的窗口的指紋都是一樣的。如果采用這種方法管理多個賬戶,那極有可能在未來某一天這3個瀏覽器里登錄的facebook賬戶會被關聯起來,從而其中幾個賬號會被封禁。
有沒有一種安全地管理多個賬戶Cookie的方法呢?繼續往下看
AdsPower指紋瀏覽器為用戶提供了一種高級的Cookie管理方式。它允許用戶為每個瀏覽器配置文件創建獨立的瀏覽器環境。每一個環境的緩存數據,插件數據,Cookie數據都是互相獨立的,就像在不同的物理設備上一樣。這種方法不僅能夠防止Cookie之間的數據泄露,還能夠防止網站通過Cookie追蹤到你的其他活動,從而保護你的賬戶安全。
免費領取AdsPower指紋瀏覽器(https://share.adspower.net/jrtt11)
點擊“新建瀏覽器”后,在創建瀏覽器環境的時候可以填入Cookie字段,然后再打開瀏覽器。
如果是批量導入賬戶,還可以通過Excel文件的格式導入,查看批量導入教程
如果你管理了多個賬戶,需要將賬戶的cookie保存備份,那么你也可以在勾選環境之后,選擇將Cookie導出到Excel文件或者TXT文本文件。
在多賬戶管理的領域,Cookie登錄無疑帶來了極大的便利性。它不僅能夠簡化登錄過程,減少重復勞動,還能夠幫助維護個性化的用戶體驗,從而提高工作效率和用戶滿意度。
然而,正如我們使用任何便捷工具時應該保持警惕一樣,對于Cookie登錄也應該采取相同的態度。
無論是選擇使用AdsPower指紋瀏覽器這樣的專業工具來管理Cookie,還是依賴其他方法,重點在于確保各個賬戶間的環境隔離,防止Cookie泄漏或賬戶關聯,從而保護你的賬戶安全與數據安全。
A1: Cookie登錄是一種基于Web的認證機制,它使用小型數據文件(即Cookie)來存儲用戶的登錄信息。當用戶首次登錄網站時,服務器會生成一個帶有身份驗證數據的Cookie并發送給用戶的瀏覽器。瀏覽器將此Cookie存儲起來,并在用戶后續訪問網站時自動發送給服務器,從而免去了重復登錄的需要。
A2: 為了保護您的賬戶安全,您應該確保使用強密碼,并且只在信任的設備上保存登錄信息。此外,定期清理Cookie和瀏覽器歷史記錄,以及使用安全的網絡連接,也是保護賬戶安全的關鍵步驟。對于敏感賬戶,考慮使用多因素認證提供額外安全層。
A3: 為了避免賬戶之間的關聯風險,您可以使用不同的瀏覽器配置文件或使用隔離Cookie的工具,如AdsPower指紋瀏覽器。這樣可以為每個賬戶創建獨立的瀏覽環境,防止Cookie數據在不同賬戶間共享。
A4: 如果您不希望被網站通過Cookie跟蹤,可以在瀏覽器設置中選擇“不跟蹤”選項,或者使用隱私模式瀏覽。此外,定期清除Cookie或使用阻止跟蹤Cookie的瀏覽器擴展程序也能幫助保護您的隱私。
A5: 當您遇到Cookie登錄過期的問題時,最簡單的解決方法是重新登錄網站。為了避免頻繁重新登錄,可以檢查瀏覽器設置,確保不會自動清除Cookie。對于那些需要長時間保持登錄狀態的網站,可以探索是否有設置“保持登錄”選項的可能。