免费杀毒软件,全面病毒解决方案

投递文章  投稿指南 金山毒霸非官方通告:
搜索: 您的位置毒霸首页>安全防护>安全书籍>阅读资讯:提高Discuz防DDOS能力的方法和代码

提高Discuz防DDOS能力的方法和代码

2008-04-13 06:41:08   来源:   作者:   【 评论:0
由于admincp文件的特殊性。在产生新连接的时候。会占用很大的系统资源。所以,多个IP不断地访问admincp.php文件的时候,服务器很容易就被DDOS至死机状态。

解决办法:
admincp.php文件的开始里<?php的下面加入下面代码:
if(preg_replace("/https?:\/\/([^\/]+).*/i", "\\1", $HTTP_SERVER_VARS['HTTP_REFERER']) != $HTTP_SERVER_VARS['HTTP_HOST']) {
 exit('警告----你的操作已经被禁止。');
}
扩展,用相同的方法在每个文件头加入相同代码可以大大提高论坛的防ddos能力:
index.php头加入
if(preg_replace("/https?:\/\/([^\/]+).*/i", "\\1", $HTTP_SERVER_VARS['HTTP_REFERER']) != $HTTP_SERVER_VARS['HTTP_HOST']) {
 exit('点击进入论坛。<a href="http://www.freediscuz.com/index.php">http://www.freediscuz.com</a>');
}
论坛根目录里的其他php文件头加入以下代码:
if(preg_replace("/https?:\/\/([^\/]+).*/i", "\\1", $HTTP_SERVER_VARS['HTTP_REFERER']) != $HTTP_SERVER_VARS['HTTP_HOST']) {
 exit('警告----你的操作已经被禁止。<a href="http://www.freediscuz.com/index.php">http://www.freediscuz.com</a>');

}

这 样修改以后,每个访问你的论坛的人都必须从首页点击链接才能进入论坛,如果是DDOS攻击论坛的话,攻击者发送的信息就不会传递给论坛的php程序了。这 样就大大的节省了系统资源,使得论坛的防DDOS能力大大增加。特别是在unix系统下,防御能力甚至是数倍的增加。 当然,如果你想完全解决防DDOS,那最好是在屏蔽IP访问了,但通常我们租用空间,管理员不会轻易封IP的,所以只能这样了。

注意修改代码里的地址为你的论坛地址。


Tags:  
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 返回顶部 -