投票限制

时间:2013-03-12 16:12:59

标签: php mysql

我之前已经问过这个问题,但现在我会更具体。我有一个投票系统,任何人都可以投票(不需要是注册用户)。我想让用户只投票一次。最好方式,我想,将是通过布尔,不是吗?所以我只是要求你告诉我一个更好的方法去做。这是代码:

<?php
$tries=0;
if (((isset($_POST['hidden']))&&$tries<2) {
    $tries++;
    $likes++;
    $up = mysql_query("Update videos SET Likes='$likes' WHERE Name='$name'");
}
?>

2 个答案:

答案 0 :(得分:1)

如果用户没有注册,你真的不知道他们之前是否投票。一些常见的方法(远非防弹)是在一段时间内保留每个IP的投票记录(因此如果日志表包含此内容的IP不接受投票),或使用cookie来了解是否有人投了票。

以上是100%!这就是大多数公司不允许匿名投票的原因。

答案 1 :(得分:0)

我知道一个创业公司需要几乎相同的东西。他们实施了一些像这个网站的控件

  

https://panopticlick.eff.org/index.php?action=log&js=yes

告诉你这个:

  

您的浏览器指纹在 2,762,716 中似乎是唯一的   到目前为止已经过测试。

     

目前,我们估计您的浏览器有指纹   传达至少21.4位的识别信息。

这意味着它会生成您的用户代理,SO和其他参数的指纹。这不是一个独立的实现,因为不是100%有效。他们还实施了手动投票验证方法,该方法处理那些不适合过滤器的指纹结果。

将此应用于您的案例。您需要实施此指纹解决方案(或其他类似解决方案)和手动检查例外(用户/投票越多,例外情况越多)。

希望它有所帮助。