以下代碼在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