狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

不使用 Cookie 的“Cookie”技術

admin
2013年8月30日 17:43 本文熱度 5031
有另一種方法可以跟蹤用戶而不使用cookies或Javascript。這種方法 已經被用于無數網站,但幾乎沒人人們知道。本頁解釋這種方法是如何運作的,以及是如何保護你自己的。

這種跟蹤方式 無需使用:


  • Cookies
  • Javascript
  • LocalStorage/SessionStorage/GlobalStorage
  • Flash、Java或其他組件
  • 你的IP地址或是用戶代理字符串(User Agent String )
  • 任何Panopticlick所使用的方式
相反,它使用另一種存儲方式,在瀏覽器重啟的時候也可以保持持久性,這就是: caching.


即使你完全禁用cookies、關閉Javascript功能并且使用VPN,這種技術依然可以追蹤到你。


在線示例:http://lucb1e.com/rp/cookielesscookies/


我們繼續,輸入一些東西然后保存。接著關閉你的瀏覽器再一次打開這個頁面。它是不是還在那兒呢?

檢查你的cookies,有沒有?當然沒有,因為它完完全全在一張假圖片的校驗和里,幾乎沒人能意識到。看到頁面頂部右邊的眼睛了嗎?這就是我們的跟蹤器。


那么它是怎么運作的呢?


這是一張概覽圖

 



圖片中的ETag是一種校驗和。當圖片改變時,校驗和也會改變。所以當瀏覽器有圖片并且知道校驗和時,它可以將校驗和傳送給web服務器來驗證。然后web服務器驗證圖片是否改變。如果沒有,就不用重新傳送圖片了,省下了不少數據流量。

細心的讀者或許已經注意到,可以這樣追蹤人群:瀏覽器發送回給服務器的信息就是它之前所接收到的(ETag)。這聽起來和cookies十分相似。服務器可以給每個瀏覽器一個唯一的ETag,瀏覽器再次連接時ETag可以從數據庫中找出來。


本例的技術要點(以及bug)
為了描述它是如何不必使用Javascript就可以生效的,我必須找一些專屬與你的信息,ETag除外。圖片在頁面加載完后加載,但只有圖片包含ETag。我要怎樣在頁面上顯示實時信息呢?結果是在不動態刷新頁面的情況下,我不能做到這一點,但動態刷新要用到Javascript,這又是我所想避免的。

這個雞生蛋,蛋生雞的問題引出了一些bug:
- 所有能見的信息都是之前頁面加載的。只有按F5可以看到新的數據。
- 當你瀏覽一個頁面而你沒有ETag的時(比如匿名模式),你的session會被清空。只有重載時才能再次看到。

我沒見過有簡單的方案可以解決這些問題。當然事在人為,但不像其他網站,而且我想盡量保持代碼簡單并貼近現實。

注意在你真的要追蹤用戶時,這些bug一般不會存在。因為你不會想讓用戶知道他們在被追蹤。

源代碼
什么項目沒有源代碼呢? 哦對,是微軟的Windows。

https://github.com/lucb1e/cookielesscookies


我們該怎么去阻止它?


有一個方法我強烈推薦你做的就是, 任何時候你想更安全的瀏覽一個網頁的話, 請開啟一個隱私瀏覽窗口, 并僅使用https連接方式. 這么做能夠單方面地消除形如 BREACH (最新的https攻擊方式)攻擊的影響, 禁止任何可能會產生的追蹤cookie, 并且也能消除我在本頁面所展示的緩存追蹤的問題的影響, 我在網上購物的時候會使用隱私瀏覽模式. 在 Firefox 下(我想IE應該也是)快捷方式是 Ctrl+Shift+P, 在 Chrome 下則是 Ctrl+Shift+N.

除此以外, 這也取決于你的偏執級別.

由于緩存追蹤實際上無法被偵測, 所以當前我還沒有很直觀的解決方法, 更因為緩存自身很有用(包括對你)并能夠節省時間和金錢. 網站管理員們將會消耗更少的帶寬(你可以想象一下, 終端用戶最終將為這份因為更多的帶寬而開具的賬單埋單), 你的網頁會更快加載, 尤其是在移動設備上會更加明顯如果說你沒有辦理不限流量的4G套餐的話. 若你居住在有著高延遲, 低帶寬的農村地區, 那就更糟糕了.


如果你非常疑神疑鬼,最好禁用所有緩存。這會阻止任何追蹤的發生,但我個人認為得不償失。

Firefox插件Self-Destructing Cookies,能在你不使用瀏覽器一段時間后,清空你的緩存。這也許是個不用禁用緩存的好選擇;你 會在訪問時被追蹤,但他們通過看哪個IP訪問哪個頁面的方法早就做到了這一點,所以這種方法很合算。以后任何訪問都仿佛來自另一個用戶,如果所有其他的追蹤方式也已經被阻止。

我不知道任何一款插件可以定期刪除緩存(比如每72小時一次),但也許有。這對99%的用戶來說會是個好主意,因為它限制追蹤功能的同時,對性能影響較小。

更新: 我聽說Firefox插件SecretAgent也使用ETag蓋寫來防止這種追蹤手段。如果你是根據域名來阻止追蹤,可以添加白名單來重新開啟緩存。這款插件可以阻止追蹤的功能已經得到 確認SecretAgent的網站.


該文章在 2013/8/30 17:43:55 編輯過

全部評論1

admin
2013年8月30日 17:45
tuchuanbin 發表于 2013-08-25 11:15
仔細研讀源碼,貌似只是使用到了在靜態資源訪問過程中的ETag,作為傳遞客戶端唯一標識的通路。本質上他的ETag仍然是基于REMOTE_ADDR和HTTP_USER_AGENT哈希生成的。只能說是近似唯一的身份標識吧,誰能確保絕對唯一呢?
 
賈珣 發表于 2013-08-25 14:28

引用來自“defu”的評論

@紅薯 這技術osc是不是已經用了?因為每次清空cookie時,需要再次登陸時,都不手動輸入用戶名和密碼。

貌似現在很多瀏覽器都支持對用戶賬戶和密碼的保存。
 
deer 發表于 2013-08-26 10:22
我本地測試沒有這個頭部信息呢

求解~

$_SERVER["HTTP_IF_NONE_MATCH"]
 
Xingo 發表于 2013-08-27 08:49
單獨使用太沒安全感了,配合其他技術或許還行。
有個清緩存的快捷鍵是ie、firefox、chrome通用的:Ctrl + Shift + Delete
 
huangzhijun 發表于 2013-08-29 10:24
對于集群發布靜態資源不可靠,各服務器生成的etag可能不一樣。

該評論在 2013/8/30 17:45:07 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved