为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
桃花长相依 2021-08-28 18:37:23
成功提交表单后,我正在使用 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 小时内多次提交。
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

最好的方案是将此时间戳保存在数据库中,当您的用户想要再次提交时,您将从数据库中检查保存的时间戳。这是一种更安全、更简单的方法。确保您至少有一个正常的用户身份验证方法!


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信