如何唯一标识网站访问者?

时间:2018-03-23 18:36:04

标签: web

我想构建一个匿名评级小部件。未经身份验证的用户可以点击“竖起大拇指”或“竖起大拇指”来表达他们对某些事物的感受。我希望人们只能评价一次,但我不想要求登录。

因此,我希望能够唯一地识别访问者,以禁止双重评级。我对跟踪它们不感兴趣。

最好的方法是什么?使用IP足够好吗? cookie或localStorage是否足够好?我应该使用多种技术的组合吗?

由于这只是一个评级小部件,我不太关心安全性。如果一个用户一心想要绕过我的双重评级检测,那么我不想太努力阻止他。

1 个答案:

答案 0 :(得分:1)

如你所知,没有让用户登录就没有准确的方法(即便如此,系统也可能被欺骗)。更明显的选择是:

  • 持久性Cookie (例如http://samy.pl/evercookie/)。这将检测设备,但不检测用户。如果用户然后离开他/她 电脑到电话,然后你得到两张相同的票 用户。此外,精明的用户可以摆脱不同的cookie 技术。
  • 客户端IP 。这将检测网络接口,但如果用户在NAT后面,那么您将只允许一个用于IP。同样,用户也可以 更改IP并投票两次(代理,Tor等)。

如果您需要一个准确的系统,这些都不是有效的,因为正如我所说,这些很容易被击败。正如您所说 security 不是问题,那么完美准确的结果也不应成为问题。 这是一个重大问题,因为只有一个了解如何打败你的系统的精明人才足以搞乱你的整个投票系统。一个单一的剧本,突然这个人可以大大提高特定元素的票数。再说一遍,这对你来说有多重要。

还有其他种类的“行为”技术,以及客户端发送的元数据,用于跟踪用户何时想要匿名,但我怀疑这些技术会在您的情况下有效,或者需要您付出太多努力和低等级技巧。

因此,最好的办法是同时应用IP和持久性cookie,因为您知道系统并不完美。请注意,IP跟踪将要求您将数据存储在某种本地存储库中。