在不进行身份验证的情况下识别唯一用户

6
所以我的网站有一个功能,我打算只允许每个唯一用户使用有限次数...问题是...我想这样做而不必强制用户注册和登录网站...
我想使用IP地址,但是IP地址很容易被操纵(使用动态DNS,代理服务器等)
所以我的问题是,有没有比使用IP地址更可靠的方法来识别唯一用户而不强制他们注册
此外,我正在使用LAMP堆栈+ JQuery,因此任何使用它们的解决方案都受到欢迎...

动态DNS如何处理客户端IP欺骗? - Your Common Sense
哇,这甚至在Chrome 16的“私人浏览”中也能工作,归功于“lsoData机制”。私人浏览可以绕过其他12个检查,但“lsoData机制”仍然保留。 - umassthrower
5个回答

13

虽然我不希望在我访问的任何网站上发现这个部署,但它似乎回答了OP的问题。 - nickb
我理解人们为什么不愿意被跟踪使用情况,但是拜托,我正在尝试做出贡献。我想使用它们来跟踪用户行为并区分新用户和现有用户,以验证某些网站功能是否得到积极反应(即人们会回来,增加的流量不仅来自新用户和营销努力)。根据您认同的道德理论,这应该对社区产生净正面影响。 - umassthrower

0
你可以让服务器在用户首次访问时为他们分配一个ID,并将其保存在永不过期的cookie中,然后让你的网站在后续访问时检查/使用该cookie进行身份验证。

既然他们没有提供任何凭据,而用户需要一个唯一的密钥,那么只需让服务器对时间戳进行哈希处理以获取密钥,或者类似的操作即可。 - Ian
两个同时请求获得相同的哈希值。你提出的方法都无法解决 OP 的问题,即可靠的唯一用户标识。 - nickb
使用IP为哈希加盐,以防止同时命中的冲突。只要您可以为每个用户获取唯一的密钥,无论您如何解决这个问题。 - Ian

0

阅读有关“超级Cookie”的文章,它可能比IP和Cookie更有帮助。 但是,如果您想严格限制访问,则您的方法不正确。


0

0

不幸的是,cookie 是处理这个问题的标准方式(Google Analytics 完全依赖它们),而且它们也很容易被操纵(清除 cookie,进入并将“times_viewed”设置为 0 等)。幸运的是,大多数人不知道如何做到这一点。我建议您加密 cookie 内容,但我仍然认为在这里使用 cookie 是最好的选择。


此外,我会记住,超级机密敏感内容应该需要登录才能访问。接受这样一个事实,有些人会绕过你的限制。数字盗版也是同样的道理... - landons

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接