标题: php防止访客F5频繁刷新页面(3次刷新)

作者:composer @Ta
时间:2019-09-27 21:01
点击:63
类别:php教程
<?php
//代理IP直接退出,看自己需要是否要这句,禁止代理访问
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
//防止快速刷新,在设置的时间内到达设置次数就跳转的设定的页面
$seconds = '3'; //时间段[秒]
$refresh = '3'; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION['last_time'])){
  $_SESSION['refresh_times'] += 1;
}else{
  $_SESSION['refresh_times'] = 1;
  $_SESSION['last_time'] = $cur_time;
}
//处理监控结果
if($cur_time - $_SESSION['last_time'] < $seconds){
  if($_SESSION['refresh_times'] >= $refresh){
      //跳转至攻击者服务器地址
      header(sprintf('Location:%s', 'http://127.0.0.1'));
      exit('Access Denied');
  }
}else{
  $_SESSION['refresh_times'] = 0;
  $_SESSION['last_time'] = $cur_time;
}
?>

推荐将这段代码放到一个norefresh.php文件,然后在header.php调用。

默认设置为3秒内刷新达到3次就跳转到访客自己的本机页面,并输出拒绝访问的提示。
评论:



返回源来页/返回首页

®2019 all power by zl(Frame Template) ducer zuoquu

鸣谢:雷爵、zuoquu