这是 不可能的 确定用户或请求为 unique 因为欺骗是微不足道的。

但是,有几种方法结合在一起可以阻碍作弊尝试并赋予用户准唯一的状态。

我知道以下内容:

  1. IP地址 - 将每个访问者的IP地址存储在某种数据库中
    • 可以伪造
    • 多台计算机/用户可以具有相同的地址
    • 具有动态IP地址的用户(某些ISP发行了它们)
  2. cookie跟踪 - 每个访问者存储一个cookie。没有它的访客被认为是“独特的”
    • 可以伪造
    • 饼干可以通过浏览器阻止或清除

是否有更多方法可以跟踪未经授权的(非login,non-dentertication)网站访问者?

有帮助吗?

解决方案

实际上,您可以通过多种方法来检测“唯一”用户。我们的营销朋友使用了许多这些方法。当您启用插件(例如Java,Flash等)时,它会变得更加容易。

目前,我最喜欢的基于cookie的跟踪的演示是 Evercookie (http://samy.pl/evercookie/)。它通过多个存储机制创建了一个“永久” cookie,普通用户无法冲洗,特别是它使用:

  • 标准HTTP cookie
  • 本地共享对象(Flash Cookie)
  • Silverlight隔离存储
  • 使用HTML5帆布标签将cookie存储在自动生成的,强迫pngs的RGB值中,以读取像素(cookie)退回
  • 在网络历史上存储cookie
  • 将cookie存储在http etags中
  • 将cookie存储在网络缓存中
  • 窗口。名称缓存
  • Internet Explorer UserData存储
  • HTML5会话存储
  • HTML5本地存储
  • HTML5全局存储
  • HTML5数据库通过SQLITE存储

我不记得URL,但是也有一个网站告诉您您如何“匿名”您从Web浏览器中收集的所有内容:您已加载了什么插件,什么版本,什么语言,屏幕屏幕化,..然后,您可以利用我之前谈论的插件(Flash,Java,...),以了解有关用户的更多信息。当我发现页面whcih向您展示“您是多么独特”或者也许有人知道时,我会编辑这篇文章 »» 实际上,看起来每个用户都以独特的方式看上去!

--编辑--

找到了我在谈论的页面: Panopticlick-“您的浏览器是多么独特和可跟踪”.

它收集了用户代理,http_accept标头,浏览器插件,时区,屏幕尺寸和深度,系统字体(通过java?),cookie ...

我的结果: 您的浏览器指纹在迄今为止测试的1,221,154次中似乎是独一无二的。

其他提示

Panopticlick 有一种非常精致的方法,可以使用指纹检查唯一用户。除了IP-ADRESS和用户代理外,它使用了时区,屏幕分辨率,安装在系统上的字体以及安装在浏览器等中的插件,因此它为每个用户提供了一个非常不同的ID 没有在计算机中存储任何东西. 。虚假负面因素(找到两个不同的用户具有完全相同的指纹)非常罕见。

该方法的一个问题是它可以产生一些误报,即如果他们安装了新字体,则认为同一用户是新用户。如果可以还是不,我想取决于您的应用程序。

是的,不可能以100%确定的方式告诉匿名访客。您能做的最好的方法是收集您拥有的信息,并尝试尽可能多地分辨出访问者。

您还可以使用另外一段信息:

  1. 浏览器字符串
    • 它不是唯一的,而是与其他信息结合使用,它增加了分辨率。

如果您需要以100%确定的方式告诉访客,则需要使他们登录。

在我看来,没有肯定的方法可以实现这一目标。在您的选择中,cookie最有可能产生相当现实的数字。 Nating和代理服务器可以掩盖大量用户的IP地址,而动态IP地址分配将使许多其他用户的结果混淆

您是否考虑过使用EG Google Analytics(分析)?他们将独特的访客跟踪作为他们服务的一部分,而与您或我一起,他们可能有更多的钱可以扔掉这个问题的启发式解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top