在进行数据处理和保存前,首先判断浏览器的获得页面方式。使用$_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(); //登记发送留言的时间,防止灌水或恶意攻击
...
数据处理及保存
... 以上就介绍了php防止刷屏,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。