如何将 PHP cookie 设置到用户 pc 以便用户无法在 24 小时内再次申请?

成功提交表单后,我正在使用 PHP cookie 设置提交时间。


如果用户再次提交表单,那么我正在检查时间是否超过 24 小时。


如果它没有超过 24 小时,那么我将显示一条错误消息。因此,在 Chrome 浏览器中,它对我有用,代码如下:


成功提交表格后


$cookieName     =   'submission_time';

$cokkieValue    =   time();         


setcookie($cookieName, $cokkieValue, time() + (+60*60*24*30 ), "/");

如果用户再次提交表单


if(isset($_COOKIE['submission_time'])) {


    $submissionTime =   $_COOKIE['submission_time'];

    $currentTime    =   time();

    $timePassed     =   ($currentTime - $submissionTime ) / 60 * 60;


    if($timePassed < ALLOWED_SUBMISSION_TIME ) {

        echo "<div class='alert alert-warning'>You can record the sales after 24 hours! Please wait..</div>";

        die();

    }


}

现在,我再次使用 IE 浏览器提交表单,但它没有向我显示设置如下的警告消息:


您可以在 24 小时后记录销售额!请稍等..


有什么解决方法吗?


基本上,我想防止在 24 小时内多次提交。


桃花长相依
浏览 130回答 2
2回答

慕容森

最好的方案是将此时间戳保存在数据库中,当您的用户想要再次提交时,您将从数据库中检查保存的时间戳。这是一种更安全、更简单的方法。确保您至少有一个正常的用户身份验证方法!
打开App,查看更多内容
随时随地看视频慕课网APP