如何限制用户在他的计算机中只点击一次按钮

时间:2017-04-18 14:20:48

标签: jquery html cookies cross-browser

我正在制作投票页面,任何用户都可以在不登录的情况下投票。 用户只能投票一次,因此如果用户刷新页面,则不得出现投票按钮。

如果用户在Cookie中投票,我会尝试保存, 但有问题:如果用户打开另一个浏览器或删除cookie,用户可以重新投票。

那么如何防止用户重新投票?

2 个答案:

答案 0 :(得分:2)

您永远不能完全确定用户只投票一次。你可以做的是添加多个检查。比如存储用户的IP地址并检查该ip是否已用于投票。您还可以要求选民在您的网站上创建一个他们需要验证其电子邮件地址的帐户,并且只允许登录用户投票一次。

答案 1 :(得分:0)

如果用户不是匿名用户,请不要在其视图中加载HTML for按钮。第一次(在用户点击之前),显示它,然后一旦他点击它,为该用户保存一个标志,然后在确定是否渲染按钮时测试该标志。还要确保从ajax获得成功响应后立即从DOM中删除该按钮(假设您通过ajax执行此操作)。 如果用户是匿名的,那么你就无法真正做出一个万无一失的解决方案。一种选择是使用浏览器指纹识别和IP来尝试限制它,但它永远不会是万无一失的。 IP可以是动态的,您无法确定您拥有唯一的用户。即便如此,仍然存在DOM中按钮的痕迹。