保护PHP / MySQL轮询系统

时间:2009-11-26 11:15:41

标签: php mysql

我正在建立一个PHP / MySQL民意调查系统,我想知道是否有更安全的方法,而不是设置cookie +保存用户IP地址并在以后检查它们。

谢谢。

5 个答案:

答案 0 :(得分:2)

民意调查系统的问题在于您希望确保用户只能投票一次。除非您要求提供无法伪造的个人信息,否则此问题无法解决。

答案 1 :(得分:1)

是的,用户/通行证是唯一的方法。如果您想在使用用户身份验证时保持简单,请使用Facebook Connect。现在几乎每个人都有FB,而few minutes你可以让它运行。

答案 2 :(得分:1)

我同意之前的说法,最安全的是存储投票和用户帐户信息(ID)。

但是如果你需要简单的投票而没有注册的方式是:

  • 在客户端使用更持久的内容(查看https://github.com/samyk/evercookie
  • 在服务器端 - 存储有关投票访客用户(操作系统,浏览器等)的所有可能信息
  • 对此数据执行一些简单的启发式或条件(如果os,IP,并且某些参数相同,则可能是同一用户)
  • 不允许短时间投票(如果操作系统,IP和指标相同且时间小于X秒)
  • 记录最大类信息并调整您的系统
  • 正确告知用户最新情况,即您的投票已被拒绝,因为您已投票等。
  • 拒绝奇怪的投票(没有操作系统等)
  • 在适当的位置使用MySQL索引!
  • 您还可以散列部分信息并仅搜索相同的哈希值(IP,操作系统,浏览器)

答案 3 :(得分:0)

不,您只能确保投票系统的安装是要求注册或有效的电子邮件地址。

答案 4 :(得分:0)

除非你准备强迫别人创建一个用户帐户(然后锁定一个帐户的投票),否则这几乎就是我的经验。