以下代码在ajax调用中。我试图确保人们不会经常使用会话对具有某个ID的问题进行投票。如果声明,会话变量
所以他们点击一个按钮,它执行下面的PHP代码:
$id=$_GET["id"];
if ((isset($_SESSION["$id"]) && ((time() - $_SESSION["$id"]) > 180)) || (!isset($_SESSION["$id"]))) {
// last vote was more than 3 minutes ago
$_SESSION["$id"] = time(); // update/create vote time stamp
//there is code here to add the vote to the database
}
else{
echo "sorry, you've already voted recently";
}
所以我创造了其持有的最后一投的time()
每个问题ID的会话变量。我会用cookies做到这一点,但他们可以被禁用。
目前,我的逻辑存在一个错误,因为它允许用户不断点击按钮并添加尽可能多的投票。
任何人都可以看到我所犯的错误吗?
什么是防止有人只是删除/不接受会话cookie? – Mike
哦,谢谢你们,不知道这个,认识用户会更好吗?它不需要非常安全。 – JoeRocc