在线投票应用程序.如何避免同一用户的重复投票
Online Voting Application. How to avoid repeated voting from same user
可能的重复项:
投票系统中的唯一 IP
我正在开发一个小型网络应用程序,它需要一个使用 php 的在线投票系统来参加我的大学活动。我正在获取IP地址并将其存储在数据库中,以防止同一用户的重复投票。但后来我想起我的大学使用代理服务器,因此获取 IP 地址毫无用处。我尝试使用javascript访问和存储客户端的Mac地址。我尝试了一些我在互联网上找到的例子。但他们都没有奏效。你们能给我一个替代方案,让我如何获得我想要的结果吗?
任何形式的帮助将不胜感激。
问候阿尤什·什雷斯塔尼泊尔
让他们输入他们的电子邮件地址,并发送一个指向他们的电子邮件的链接,允许他们投票。该链接应包含其电子邮件的一些哈希值,您必须检查他们是否已经投票。
我意识到学生可以输入多个电子邮件地址并多次投票,但学生实际上有多少电子邮件?他们会花多少时间做这样的事情?
我猜你无法通过你的大学访问任何类型的身份验证系统,所以这可能是最好的方法。
编辑:
另一个想法是使用Facebook身份验证(见:http://developers.facebook.com/docs/authentication/(。缺点是你必须假设所有选民都有Facebook帐户。
-
首先让用户注册一个电子邮件地址,以便他们可以使用随后与该地址关联的投票系统。
-
拥有电子邮件地址(通过发送到该电子邮件的激活链接进行验证(后,您可以从用户那里收集与投票相关的输入。
实际上没有有效的、独立于平台的方法来防止重复投票,除非您强制执行用户证书等。
唯一 100% 密不透风的方法是让用户创建需要一些个人唯一信息的帐户,以防止用户创建多个帐户。
在没有登录系统的情况下,最接近的是Evercookie库,它将UUID存储在用户浏览器中的十几个不同位置。 很难将它们全部清除(即使在浏览器中使用隐私模式(,因此如果您在用户投票时向他们提供 Evercookie,您可能会发现以前投票过的人。
请注意,这会在计算机级别而不是用户级别停止重复投票(一台计算机可能有多个用户,并且一个用户可能拥有多台计算机,这可能会启用重复投票者或阻止符合条件的投票者(。
- 如何避免对“分析用户”表进行查询
- 我如何生成一个警告/弹出窗口,说明在用户点击之前避免点击浏览器的后退按钮
- 护照.js:如何避免序列化和反序列化用户
- Angular js 避免在用户无限滚动和删除 dom 元素时重复数据
- 如果用户多次单击元素,如何避免争用条件
- 避免在用户单击超链接时留下页面确认
- 是否有可能知道用户何时点击YouTube视频上的广告
- 避免对已经访问过的用户进行重定向
- 在线投票应用程序.如何避免同一用户的重复投票
- 如何避免用户在 ajax 帖子中输入空字符串
- Node.js/JavaScript-避免用户输入脚本和html实体
- 避免刷新时弹出.仅在用户关闭浏览器窗口时显示
- Node js Socket.io:如何避免多个用户连接
- 确保HTTP API的安全-无用户密码提示,避免暴露私钥
- GitHub:如何避免在搜索帐户时超过搜索限制'为某个存储库做出贡献的用户的详细信息
- 如何在批量用户中运行解析云作业以避免时间限制
- 当用户已经登录时,如何避免出现谷歌登录弹出窗口
- React/Alt -在响应用户输入时避免在调度内调度
- 避免覆盖用户更改的数据
- 当用户取消提示时,如何避免在空值上填充文本区域