时时商务社区

标题: php防止CC攻击代码 php防止网页频繁刷新 [打印本页]

作者: 阿情    时间: 2018-2-14 05:40

            网页快速恶意刷新,cc攻击就是攻击者利用代理服务器生成指向目标站点的合法请求,模拟多用户不停的对受害网站进行访问,特别是访问那些需要大量数据操作需要大量CUP时间的页面,最终导致目标网站服务器资源耗尽,一直到宕机崩溃,如此一来,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。我们称之为CC攻击。尽管我们可以借助于一些防攻击的软件来实现,不过效果有时并不明显。
下面我提供一段PHP的代码,可以起到一定的防CC攻击效果。
主要功能:在3秒内连续刷新页面5次以上将指向本机 http://127.0.0.1
只需将该代码放到需要防CC攻击的页面即可。
源码
=5){
echo '刷新太快!';
exit;
}
}else{
$cc_times = 0;
$_SESSION['cc_lasttime'] = $cc_nowtime;
$_SESSION['cc_times'] = $cc_times;
}
?>
下面是为大家整理的PHP防CC攻击的有效方法:
1.session记录
submit.php为发送页面,在这个页面上设置一个session变量,并作为隐藏域和表单一起发送到submitdeal.php页面,在服务器端把post上来的隐藏变量和服务器端记录的session变量进行对比,比如一样,则写入数据库并清除session,这样用户刷新页面,两个值不相等提示错误或跳转。
优点:不用用户输入验证码
缺点:表单容易被复制
2.验证码
原理和第一种一样,只是session数据不作为隐藏域提交,而是让用户填写,大多数网站都采用文字验证码和图片验证码,图片验证码安全性高。
3.IP绑定
提交数据后,先从IP表里检索客户端IP,如果有,并且没有过期,那么报错,否则写入数据库,然后再取客房端IP,把IP写入数据库。
4.cookie:客户提交后处理程序先检索客户端有没有设置cookie,如果有,则不重复提交;如果没有,则写数据,再写个cookie;
例:
用户无意义的频繁跳转、请求都会给服务器加重很多负担 其实 用cookie就可以防止这一点。
方式一:
$allowTime){  
$refresh = true;  
$_SESSION[$allowT] = time();  
}else{  
$refresh = false;  
}  
?>
方式二:

">


方式三:

">


以上就是php防止CC攻击的多种方式,希望能帮助大家防止网页快速恶意刷新。
            
            
您可能感兴趣的文章:
  • 让PHP COOKIE立即生效,不用刷新就可以使用
  • php中防止恶意刷新页面的代码小结
  • php防止恶意刷新与刷票的方法
  • php防止网站被刷新的方法汇总
  • 刷新PHP缓冲区为你的站点加速
  • PHP防止刷新重复提交页面的示例代码
  • php采用session实现防止页面重复刷新
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2