php - 设置安全的轮询系统

标签 php validation

我目前负责设置投票系统(使用 PHP)。

现在,为了尽可能安全和客观,访问者只能投票一次很重要。我正在考虑通过访问者的 IP 验证民意调查(一个 IP 只能投一票),并且可能会进行验证码测试以确保一旦机器人出于某种原因通过了 IP 验证就无法进入.

  1. 就是这样,唯一 IP 验证和验证码。但这就够了吗?是否有可能单个用户可以通过使用代理或其他我不知道的方式更改他/她的 IP,并使用唯一的 IP 多次投票?

  2. 有没有更好的方法来做到这一点?最好没有验证码。

提前致谢。

最佳答案

在不需要登录的公共(public)投票系统中,绝对无法确定用户已经投票过一次。

出于多种原因,检查 IP 不是一个好主意。如其他答案所述,一个ip后面有很多网络,用户可以使用另一台ip不同的pc再次投票。

OpenId

使用 OpenId 识别用户并检查他们是否已经投票。

注册用户

如果用户没有 openid 帐户,您可以选择允许他们自己注册。

要实现一个安全系统, session 欺骗和多重投票变得困难 read this

关于php - 设置安全的轮询系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/689453/

相关文章:

php - 表单验证、php 和 javascript

php - 在 facebook 自定义提要中操作照片 url(图形 API)

php - 使用 PHP 更新特定列时的 MySQL 时间戳

vb.net - 如何根据 XML 架构文件验证 XML 字符串

php - Laravel 验证总是从 API 返回 200 OK

php - 如何从 PHP 数组中删除所有重复项?

php - 写入数据库,并在同一个 PHP 页面加载中检索更新的数据?

javascript - 在 Notepad++ 中检查 JavaScript 代码是否存在拼写错误

c++ - 如果用户输入多个整数,如何抛出错误

javascript - 覆盖 jquery 验证插件中的函数