怎么利用PHP防范CC攻击

php中文网
发布: 2016-06-13 13:24:09
原创
1351人浏览过

如何利用PHP防范CC攻击

攻击者借助代理服务器生成指向受害主机的合法请求,实现dos,和伪装就叫:cc(challengecollapsar)。

CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

所谓的CC攻击就是对方利用程序或一些代理对您的网站进行不间断的访问,造成您的网站处理不了而处于当机状态。这种时候您的统计系统(可能是量子、百度等)当然也是统计不到的。不过我们可以借助于一些防攻击的软件来实现,不过效果有时并不明显。下面龙铭洪提供一段PHP的代码,可以起到一定的防CC效果。

特别是用虚拟主机的用户,如果CPU超载将会出现“service unariable”的提示。关于超载的因素有很多,比如网页结构不合理,流量过大等。其中还有一个可能会出现的恶意因素,就是CC攻击。

  主要功能:在3秒内连续刷新页面5次以上将指向本机 http://127.0.0.1

PatentPal专利申请写作
PatentPal专利申请写作

AI软件来为专利申请自动生成内容

PatentPal专利申请写作 13
查看详情 PatentPal专利申请写作

立即学习PHP免费学习笔记(深入)”;


 

  代码如下:

$P_S_T  = $t_array[0] + $t_array[1]; 
$timestamp = time();

session_start(); 
$ll_nowtime = $timestamp ; 
if (session_is_registered('ll_lasttime')){ 
$ll_lasttime = $_SESSION['ll_lasttime']; 
$ll_times = $_SESSION['ll_times'] + 1; 
$_SESSION['ll_times'] = $ll_times; 
}else{ 
$ll_lasttime = $ll_nowtime; 
$ll_times = 1; 
$_SESSION['ll_times'] = $ll_times; 
$_SESSION['ll_lasttime'] = $ll_lasttime; 

if (($ll_nowtime - $ll_lasttime) if ($ll_times>=5){ 
  header(sprintf("Location: %s",'http://127.0.0.1')); 
  exit; 

}else{ 
  $ll_times = 0; 
$_SESSION['ll_lasttime'] = $ll_nowtime; 
$_SESSION['ll_times'] = $ll_times; 

    3表示时间间隔,5表示刷新次数

    以上代码可以放在每个PHP文件的包含文件中,这样每页均可起到防CC的效果。里面的参数也可以根据您自己的情况进行一些相应的设置。

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号