摘要:前几天,不知从哪冒出来的一波傻逼,总是频繁的刷我的博客,20分钟刷了20000多次,无奈之下数据库被刷爆了... 今天分享一下PHP如何防CC攻击...
前几天,不知从哪冒出来的一波傻逼,总是频繁的刷我的博客,20分钟刷了20000多次,无奈之下数据库被刷爆了...
今天分享一下PHP如何防CC攻击。
<?php empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); session_start(); $seconds = 10; //时间段[秒] $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){ //跳转验证 $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $msg = '<title>安全检查</title><h3>检测到CC攻击,正在进行浏览器安全检查!</h3>'; exit($msg . "<meta http-equiv='refresh' content='3;url={$url}'>"); //3是定时跳转的时间,后期可以根据时间段调整跳转时间 } }else{ $_SESSION['refresh_times'] = 0; $_SESSION['last_time'] = $cur_time; }
网友评论:
好文章<script>alert();</script>呀'。
2019-01-10 09:46:09 回复