我有一个投票按钮,用户可以按下该按钮并进行投票。再次点击此按钮,投票将被取消。
所以每次按下这个按钮都会执行一次数据库写入。如果连续在此按钮上使用自动点击器,将发生连续的数据库调用。我想阻止这种情况。 我能做什么?
附言。单击赞成按钮时,我正在向后端(运行 Django)发送一个 ajax 查询。
最佳答案
你真的想在服务器上检查这个,所以如果有人禁用 javascript 也没关系。
如果您使用的是 PHP,一个选项是设置投票之间的时间限制。例如,每分钟只允许一次投票。
因此在每次投票时,将投票时间存储在 session 变量中,然后如果在时限内则忽略后续投票:
//on vote
$now=date('U');
if(!isset($_SESSION['lastvote']) || $now - $_SESSION['lastvote']<LIMIT){
$_SESSION['lastvote']=$now;
// do database call
}else{
//throw error
}
关于javascript - 如何防止自动点击赞成票/反对票按钮的垃圾邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13929641/