避免使用ip进行多次投票

时间:2015-10-24 06:51:15

标签: php voting

我有一个简单的投票按钮,但由于有人可以在重新加载网站后多次按下,我想阻止使用最后存储的IP地址。发生了一些事情并没有阻止来自同一IP的多次投票。

$ip = $_SERVER['REMOTE_ADDR'];
$sql = "update table set votos=votos-1, lastvote='$ip' where id='$id'";
$voto = "SELECT lastvote FROM table where id='$id'";
$resultado = mysqli_query($conexion, $voto);

if ($ip == $resultado) {} else{
mysqli_query($conexion, $sql);
}

这个想法是在存储新投票之前比较最后投票的IP,但我不知道出了什么问题。 谢谢

1 个答案:

答案 0 :(得分:1)

如果有人改变他的ip怎么办?如果另一个用户在1秒后投票怎么办?实际上你使用的概念是错误的。您无法通过跟踪IP地址来阻止多次投票。用户断开其Internet连接后,动态IP地址更改。用户可以使用应用轻松更改IP。所以解决方案是注册用户,注册后一个用户可以投一票。希望它会有所帮助。