不可能将用户或请求识别为唯一
,因为欺骗是微不足道的。
但是,有一些方法组合起来可以阻止作弊尝试并为用户提供准独特的地位。
我知道以下内容:
- IP 地址 - 将每个访问者的 IP 地址存储在某种数据库中
- 可以伪造
- 多台计算机/用户可以拥有相同的地址
- 拥有动态 IP 地址的用户(某些 ISP 会分配这些地址)
- Cookie 跟踪 - 为每个访问者存储一个 Cookie。没有它的访问者被认为是“独特的”
- 可以伪造
- 可以通过浏览器阻止或清除 Cookie
是否有更多方法来跟踪未经授权(未登录、未经身份验证)的网站访问者?
最佳答案
实际上有很多方法可以检测“唯一”用户。这些方法很多都是我们营销 friend 用的。当您启用 Java、Flash 等插件时,事情会变得更加容易。
目前,我最喜欢的基于 Cookie 的跟踪演示是 evercookie ( http://samy.pl/evercookie/ )。它通过多种存储机制创建“永久”cookie,一般用户无法刷新,具体它使用:
- 标准 HTTP Cookie
- 本地共享对象(Flash Cookie)
- Silverlight 隔离存储
- 以 RGB 值存储 cookie 自动生成、强制缓存的 PNG 使用 HTML5 Canvas 标签读取像素 (cookie)退出
- 在网络历史记录中存储 cookie
- 在 HTTP ETag 中存储 cookie
- 在网络缓存中存储 cookie
- window.name 缓存
- Internet Explorer 用户数据存储
- HTML5 session 存储
- HTML5 本地存储
- HTML5 全局存储
- 通过 SQLite 进行 HTML5 数据库存储
我不记得网址了,但还有一个网站可以根据从您的网络浏览器收集到的所有信息来告诉您您的“匿名性”程度:您加载了哪些插件、版本、语言、屏幕尺寸,...然后您可以利用我之前讨论的插件(Flash、Java...)来了解有关用户的更多信息。当我找到显示你“你是多么独特”的页面或者也许有人知道»»实际上它看起来好像每个用户都是独一无二的!
--编辑--
找到我正在谈论的页面:Panopticlick - "How Unique and trackable is your browser" .
它收集用户代理、HTTP_ACCEPT header 、浏览器插件、时区、屏幕大小和深度、系统字体(通过 Java?)、Cookie 等内容...
我的结果:您的浏览器指纹在迄今为止测试的 1,221,154 个中似乎是唯一的。
关于unique - 检测到 "unique"匿名用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940179/