Php Jquery投票系统和避免重复的Mysql更新
我有一个投票系统,一切正常,除了一些用户试图发送快速请求,以便绕过系统并添加更多分数Php Jquery投票系统和避免重复的Mysql更新,php,jquery,cookies,Php,Jquery,Cookies,我有一个投票系统,一切正常,除了一些用户试图发送快速请求,以便绕过系统并添加更多分数 if (isset($_COOKIE['vote_posneg_'.$id.''])){ die("already voted"); }else{ setcookie('vote_posneg_'.$id.'', 1, time()+7200); // set cookie that expires in 2 hour "time()
if (isset($_COOKIE['vote_posneg_'.$id.''])){
die("already voted");
}else{
setcookie('vote_posneg_'.$id.'', 1, time()+7200); // set cookie that expires in 2 hour "time()+7200".
}
switch ($section){
case "comments":
if($mode == "pos"){
$sql= "UPDATE comments SET `positive`= positive+1 WHERE commentid='$id'";
$sql2= "SELECT `positive` FROM comments WHERE commentid='$id' LIMIT 1";
}else{
$sql= "UPDATE comments SET `negative`= negative+1 WHERE commentid='$id'";
$sql2= "SELECT `negative` FROM comments WHERE commentid='$id' LIMIT 1";
}
break;
}
list($cnumnow) = mysql_fetch_row(mysql_query($sql2)) or die(mysql_error());
die($cnumnow);
因此,在更新DB表之后设置新cookie之前,用户可以发送快速Ajax请求并多次添加点 我以前只是在想。。我想获取用户ip或该用户的任何唯一信息,并将其保存在db或cookie中,这样我就可以让该用户只进行一次投票,并拒绝其他用户的点击:)当然,这会起作用,我知道,但它可能会向数据库中添加大量数据。请注意,用户可以删除cookie,将其浏览器配置为完全不接受cookie,甚至可以编写一个只发送投票而不接受cookie的脚本。