现在的位置: 首页 > 互联网络 > 博客心语 > 正文

php实现cc攻击防御的方法和防止快速刷新页面示例

2014-03-27 06:22 博客心语 ⁄ 共 546字 ⁄ 字号 暂无评论

代码如下:

<?php

//代理IP直接退出

empty($_SERVER['HTTP_VIA']) or exit('Access Denied');

//防止快速刷新

session_start();

$seconds = '3'; //时间段[秒]

$refresh = '5'; //刷新次数

//设置监控变量

$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;

}

?>

给我留言

留言无头像?