我之前已经问过这个问题,但现在我会更具体。我有一个投票系统,任何人都可以投票(不需要是注册用户)。我想让用户只投票一次。最好方式,我想,将是通过布尔,不是吗?所以我只是要求你告诉我一个更好的方法去做。这是代码:
<?php
$tries=0;
if (((isset($_POST['hidden']))&&$tries<2) {
$tries++;
$likes++;
$up = mysql_query("Update videos SET Likes='$likes' WHERE Name='$name'");
}
?>
答案 0 :(得分:1)
如果用户没有注册,你真的不知道他们之前是否投票。一些常见的方法(远非防弹)是在一段时间内保留每个IP的投票记录(因此如果日志表包含此内容的IP不接受投票),或使用cookie来了解是否有人投了票。
无以上是100%!这就是大多数公司不允许匿名投票的原因。
答案 1 :(得分:0)
我知道一个创业公司需要几乎相同的东西。他们实施了一些像这个网站的控件
告诉你这个:
您的浏览器指纹在 2,762,716 中似乎是唯一的 到目前为止已经过测试。
目前,我们估计您的浏览器有指纹 传达至少21.4位的识别信息。
这意味着它会生成您的用户代理,SO和其他参数的指纹。这不是一个独立的实现,因为不是100%有效。他们还实施了手动投票验证方法,该方法处理那些不适合过滤器的指纹结果。
将此应用于您的案例。您需要实施此指纹解决方案(或其他类似解决方案)和手动检查例外(用户/投票越多,例外情况越多)。
希望它有所帮助。