成功提交表单后,我正在使用 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个赞
最好的方案是将此时间戳保存在数据库中,当您的用户想要再次提交时,您将从数据库中检查保存的时间戳。这是一种更安全、更简单的方法。确保您至少有一个正常的用户身份验证方法!
- 2 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消