如何设置一个永远无法删除的Cookie
这篇讲的是如何绕过用户删除,实现对浏览器状态的持久化跟踪。作者以“防删除”为切入点,系统梳理了八种客户端存储技术,其核心思路是“灾备机制”——即使主要存储被清除,仍有后备方案可以恢复。 文章从最常见的 HTTP Cookie 讲起,分析了其 4KB 大小限制、明文传输等痛点,指出其被诟病但又不可或缺的矛盾地位。作为主要后备方案的 Flash Cookie (LSO) 能存储 100KB 二进制数据,但依赖插件且易被安全软件清理。作者还详细对比了 Silverlight 独立存储(每应用1MB)、IE专有的 userData(仅限IE且IE9后弃用)等早期技术。 更巧妙的方案在于利用浏览器的“非存储”特性来持久化数据:比如将信息编码为 URL 路径存入浏览器历史记录(但性能极差),或将数据拆分为 RGB 值藏入一张长期缓存的 PNG 图片像素中(需 HTML5 Canvas),亦或是利用 `window.name` 属性跨域跨页面持久保存高达 2MB 的数据(需注意 iframe 安全处置)。 这些方案本质上是在不同技术时代,对“如何在用户控制下保持身份识别”这一难题的持续探索。它们各自在存储容量、安全性、兼容性和实现复杂度间权衡,也从侧面推动了 localStorage 等现代 Web Storage API 的诞生。