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

由于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’>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’>http://www.freediscuz.com/index.php”>http://www.freediscuz.com</a>’);

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

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

同生天地间,为何我不能。

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

相关文章:

你感兴趣的文章:

标签云: