信息来源:
- https://github.com/samyk/evercookie
- http://samy.pl/evercookie
主要实现方式
- Standard HTTP Cookies
- Flash Local Shared Objects
- Silverlight Isolated Storage
- CSS History Knocking
- Storing cookies in HTTP ETags (Backend server required)
- Storing cookies in Web cache (Backend server required)
- HTTP Strict Transport Security (HSTS) Pinning
- window.name caching
- Internet Explorer userData storage
- HTML5 Session Storage
- HTML5 Local Storage
- HTML5 Global Storage
- HTML5 Database Storage via SQLite
- HTML5 Canvas - Cookie values stored in RGB data of auto-generated, force-cached PNG images (Backend server required)
- HTML5 IndexedDB
- Java JNLP PersistenceService
- .Java exploit CVE-2013-0422 - Attempts to escape the applet sandbox and write cookie data directly to the user's hard drive.
实际实现情况
经过检测主流浏览器可以实现的地方完全相同,之前认为IE应该会在userdata里存储,但是并没有。
- cookie
- localstorage
- sessionstorage
- window.name
- png+canvas
- etag
- cache
- dbData
- flash cookie
清除方法
- chrome
- 设置 window.name
- 清除所有浏览器数据
- safari
- 设置 window.name
- 清除所有浏览器数据
- IE11
- 关闭浏览器缓存
- 清除所有浏览器数据
- 清除window.name
- 清除localstorage
- 清除sessionstorage
- firefox
- 清除所有浏览器数据
- 清除window.name
- 清除localstorage
- 清除sessionstorage
其它
- 由于我电脑firefox和Safari的flash是共享的,所以,evercookie在Safari上的时候,也会影响到firefox。
- 在隐私模式下不起作用。