我希望跟踪用户,以便他们不会在投票中投票两次。我不想使用IP地址,因为我创建的应用程序是针对校园的,因为无线网络使用NAT,许多人将拥有相同的IP地址。此外,我不想使用cookie或会话ID,因为可以轻松删除它们。
我该怎么做?或者我运气不好?
我看过这个问题:How to identify unique user?。有一些答案说,浏览器指纹识别可能是Urban Dictionary阻止多次投票的一种方式。我该如何做到这一点?
编辑:我在这个应用程序中当然不能拥有的一件事是用户登录。它违背了应用程序的目的。答案 0 :(得分:2)
我将假设浏览器指纹识别正在读取用户代理字符串,这是不可靠的,因为这些天大多数浏览器都可以更改用户代理字符串。
如果您想要唯一地识别用户,那么只允许登录用户进行投票,如果它只针对校园,那么所有学生都将拥有一个电子邮件地址,即first.last @ schoolname.sch.uk或您的域名。
答案 1 :(得分:0)
个别技术可能不够强大,但结合起来,它们可能非常有用。 例如,您可以说:
如果IP相同且浏览器相同且操作系统相同 要么 饼干存在
然后不允许投票。显然,还有更多技术可以与此结合使用(例如浏览器指纹识别)。
另一个选择是简单地要求用户登录进行投票,并确保每个用户都有不同的电子邮件地址。