lagman/evercookie

此包的最新版本(dev-master)没有可用的许可证信息。

Evercookie 是一个 JavaScript API,可以在浏览器中生成极其持久的 cookies。

安装数: 5,434

依赖者: 2

建议者: 0

安全: 0

星星: 1

关注者: 1

分支: 663

语言:JavaScript

dev-master 2014-09-13 06:50 UTC

This package is auto-updated.

Last update: 2024-09-17 19:39:11 UTC


README

Evercookie 是一个 JavaScript API,可以在浏览器中生成极其持久的 cookies。它的目标是在用户删除标准 cookies、Flash cookies(本地共享对象或 LSOs)和其他 cookies 后,仍然能够识别客户端。

这通过尽可能多地存储 cookie 数据在浏览器的存储机制中来实现。如果从任何存储机制中删除了 cookie 数据,只要其中一种机制仍然完整,Evercookie 会积极地在该机制中重新创建它。

如果 LSO 机制可用,Evercookie 甚至可以在同一台客户端机器上的不同浏览器之间传播 cookies!

Samy Kamkar 编写,并有其他人的出色 贡献

浏览器存储机制

客户端浏览器必须尽可能多地支持以下存储机制,以便 Evercookie 有效地工作。

将来可能实现(也许由你实现?)

  • HTTP Strict Transport Security 锚定
  • Google Gears
  • 使用 Java 生成基于 NIC 信息的唯一密钥
  • HTTP认证中的缓存
  • 还有其他方法?请留言!

Java持久性机制由Gabriel Bauman开发和维护在这里

后端服务器

某些存储机制需要后端服务器。此软件包包含PHP实现的etag、缓存和png后端服务器。

注意事项

警告!Evercookie可能会给您或您的用户带来潜在问题。

  • 某些存储机制需要在客户端浏览器中加载Silverlight或Flash。在某些机器上,这可能会是一个非常缓慢的过程,伴随着大量的磁盘读写。在旧版移动设备上,这可能会使您的网站无法使用。

  • CSS历史敲击可能导致在首次设置cookie时产生大量HTTP请求。

  • 在某些圈子中,使用Evercookie被认为是不礼貌的。在将Evercookie用于生产时,请考虑您的声誉和您的受众。

  • 浏览器制造商正在尽力堵住Evercookie所利用的许多漏洞。这对互联网来说是个好事,但这意味着今天有效的方法可能明天就不那么有效了。

您对自己使用Evercookie的决定负责。请明智选择。

有想法吗?

发起一个拉取请求!