当前位置:Gxlcms > PHP教程 > PHP防止刷屏

PHP防止刷屏

时间:2021-07-01 10:21:17 帮助过:20人阅读

在进行数据处理和保存前,首先判断浏览器的获得页面方式。使用$_SERVER
["REQUEST_METHOD"]变量来获得浏览器的获得页面方式。检查其是否为”POST”。在
脚本中使用session来记录用户是否通过正常途径(即填写提交内容的页面)来提
交数据。或使用$_SERVER["HTTP_REFERER"]来检测,但不推荐这样做。因为部分浏
览器没有设置REFERER,有部分防火墙也会屏蔽REFERER。另外,我们也要对提交内
容检查,看数据库中是否有重复内容。以留言本为例,使用Session进行判定:
填写浏览内容的页面中,我们在最前端加上:
$_SESSION["allowgbookpost"]=time(); //登记填写时的时间
  在接受留言数据并保存的页面中我们在进行数据处理前我们也用Session进行
以下处理:
if(strtoupper($_SERVER["REQUEST_METHOD"])!=”POST”){ die("错误:请勿在外
部提交。"); } //检查页面获得方法是否为POST
if(!isset($_SESSION["allowgbookpost"]) or
(time()-$_SESSION["allowgbookpost"] < 10)){ die("错误:请勿在外部提交。
"); } //检查留言填写时的时间
if(isset($_SESSION["gbookposttime"]) and
(time()-$_SESSION["gbookposttime"] < 120)){ die("错误:两次提交留言的间
隔不得少于 2 分钟。"); } //检查留言间隔
unset($_SESSION["allowgbookpost"]); //注销allowgbookpost变量以防止一次进
入填写页面多次进行提交
$_SESSION["gbookposttime"]=time(); //登记发送留言的时间,防止灌水或恶意攻击
...
数据处理及保存
...

以上就介绍了PHP防止刷屏,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行