如何在PHP中跟踪唯一用户?(防止用户多次投票)(请阅读并发症的详细信息)


How can I track a unique user in PHP? (Prevent user from voting more than once) (Please read details for the complications)

我想跟踪用户,这样他们就不会在投票中投两次票。我不想使用IP地址,因为我创建的应用程序是针对校园的,因为无线网络使用NAT,所以很多人都会有相同的IP地址。此外,我也不想使用cookie或会话ID,因为它们很容易被删除。

我该怎么做?还是我运气不好?

我研究过这个问题:如何识别唯一的用户?。有一些答案表明,浏览器指纹识别可能是《城市词典》防止多次投票的一种方式。我该如何做到这一点?

编辑:在这个应用程序中,有一件事我肯定不能拥有,那就是用户登录。它违背了应用程序的目的。

我假设浏览器指纹识别正在读取用户代理字符串,这是不可靠的,因为目前大多数浏览器都可以更改用户代理字符串。

如果你想唯一地识别用户,那么只允许登录用户投票,如果只针对某个校园,那么所有学生都会有一个电子邮件地址,即。first.last@schoolname.sch.uk或者你的域名是什么。

单独的技术可能不够强大,但结合起来,它们可能非常有用。例如,你可以说:

如果IP相同,则浏览器相同,操作系统相同或存在cookie

然后禁止投票。显然,还有更多的技术可以与此结合使用(例如浏览器指纹识别)。

另一种选择是简单地要求用户登录投票,并确保每个用户都有不同的电子邮件地址。