在进行数据处理和保存前,首先判断浏览器的获得页面方式。使用$_SERVER["REQUEST_METHOD"]变量来获得浏览器的获得页面方式。检查其是否为”POST”。在脚本中使用session来记录用户是否通过正常途径(即填写提交内容的页面)来提交数据。或使用$_SERVER["HTTP_REFERER"]来检测,但不推荐这样做。因为部分浏览器没有设置REFERER,有部分防火墙也会屏蔽REFERER。另外,我们也要对提交内容检查,看数据库中是否有重复内容。以留言本为例,使用Session进行判定:填写浏览内容的页面中,我们在最前端加上:$_SESSION["allowgbookpost"]=time(); //登记填写时的时间 在接受留言数据并保存的页面中我们在进行数据处理前我们也用Session进行以下处理:if(strtoupper($_SERVER["REQUEST_METHOD"])!=”POST”){ die("错误:请勿在外部提交。"); } //检查页面获得方法是否为POSTif(!isset($_SESSION["allowgbookpost"]) or(time()-$_SESSION["allowgbookpost"]
"); } //检查留言填写时的时间
if(isset($_SESSION["gbookposttime"]) and
(time()-$_SESSION["gbookposttime"]
隔不得少于 2 分钟。"); } //检查留言间隔
unset($_SESSION["allowgbookpost"]); //注销allowgbookpost变量以防止一次进
入填写页面多次进行提交
$_SESSION["gbookposttime"]=time(); //登记发送留言的时间,防止灌水或恶意攻击
...
数据处理及保存
...
以上就介绍了PHP防止刷屏,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31