PHP防止刷屏
程序员文章站
2022-05-07 22:18:09
...
在进行数据处理和保存前,首先判断浏览器的获得页面方式。使用$_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"]
"); } //检查留言填写时的时间
if(isset($_SESSION["gbookposttime"]) and
(time()-$_SESSION["gbookposttime"]
隔不得少于 2 分钟。"); } //检查留言间隔
unset($_SESSION["allowgbookpost"]); //注销allowgbookpost变量以防止一次进
入填写页面多次进行提交
$_SESSION["gbookposttime"]=time(); //登记发送留言的时间,防止灌水或恶意攻击
...
数据处理及保存
...
["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"]
"); } //检查留言填写时的时间
if(isset($_SESSION["gbookposttime"]) and
(time()-$_SESSION["gbookposttime"]
隔不得少于 2 分钟。"); } //检查留言间隔
unset($_SESSION["allowgbookpost"]); //注销allowgbookpost变量以防止一次进
入填写页面多次进行提交
$_SESSION["gbookposttime"]=time(); //登记发送留言的时间,防止灌水或恶意攻击
...
数据处理及保存
...
以上就介绍了PHP防止刷屏,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。