javascript - 如何防止 guest 用户为一个帖子投票两次?

标签 javascript php cookies authorization voting

<分区>

我有一个网站,用户可以在其中发帖和投票。允许访客用户为帖子投票非常重要,避免同一访客多次投票也非常重要。

Cookies,可以轻松删除,所以这不是解决方案。

IP,如果考虑 NAT 情况,则非常糟糕。

所以我想,我需要更高级的方法,也许其他类型的 cookie..?

如果有人在类似情况下有经验,请提供帮助。

最佳答案

对于未登录的用户,您唯一能做的就是尽可能让他们难以进行第二次投票。例如,您可以:

在客户端:

  • 设置cookie
  • 将信息写入浏览器存储
  • 使用所谓的 flash cookies

在服务器端 - 尽可能多地存储和检查有关用户的信息:

  • 存储用户ip(包括代理ip等)
  • 存储浏览器指纹
  • 存储用户时区
  • 阻止对此 ip 和浏览器指纹的投票(永久或一段时间)。

等等

但你仍然无法阻止聪明和真正想要欺骗匿名用户投票。

因此,不尝试阻止投票可能更有用,而是检测并忽略“重复”投票(即在特定时间段内从相同的 ip 和浏览器组合对相同选项的投票可能被视为“作弊”) .

关于javascript - 如何防止 guest 用户为一个帖子投票两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34372386/

相关文章:

javascript - 如何镜像文本选择?

javascript - 如何使用 d3.js 可视化 JSON TreeMap ?

php - 包含表、PHP 和 MySQL 的一日议程

javascript - Node + Express + Nginx 未设置 Cookie

javascript - Display none 以在 IE 中内联显示

javascript - 从 postMessage 事件接收到的 eval() 代码有多安全?

Phpunit 覆盖范围 : what is the difference between 'addUncoveredFilesFromWhitelist' and 'processUncoveredFilesFromWhitelist' options?

php - MySQLi 准备好的插入语句不会产生错误并且不会保存到数据库

r - 获取 json 时如何接受 gdpr cookie?

java - 网络文档的复杂检索