我搜索了很多并没有找到一个简单的答案,我只需要不允许用户运行相同的PHP脚本太快,就像他发送表单一样,我需要阻止相同的表单又跑了10秒钟。
我尝试使用:
if(isset($_SESSION['var']){
exit;
}
并在脚本开头设置var,然后在脚本完成时取消设置,但它只会禁止他在当前运行时运行脚本,有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用Timeout来阻止用户快速运行脚本, 但是php使用Session来存储Timeout,如下所示:
session_start(); //At the beginning of the PHP file
define("TIMEOUT", 10); //10 sec
//Check timeout
if (isset($_SESSION['expire'])) {
if ($_SESSION['expire']-time()>TIMEOUT) {
unset($_SESSION['expire']);
}
}
//Allow to do submit after 10 sec
if (!isset($_SESSION['expire'])) {
$_SESSION['expire']=time();
//Your submit code
}