English
 电子信箱
 加入收藏

  冰盾防火墙 >> 支持与下载 >> DDOS专题 >> 防御CC,HTTP透明代理,PHP代码

 

防御CC,HTTP透明代理,PHP代码

冰盾防火墙 2008-01-07

 

QUOTE:
<?
//Ban Proxy for all soft.
$ipinfo = new IpInfo();
$ipinfo->banProxy(true);
//false 时,屏蔽超级匿名的代理
class IpInfo
{
// (c) KINPOO
var $clientIp;
var $proxy;
var $proxyIp;

function IpInfo()
{
$this->getIp();
$this->checkProxy();
}
function banProxy($banAll = true)
{
if (!$this->proxy)
{
return;
}
if ($banAll == true)
{
die('Forbidden:Proxy Connection');
}
else
{
if ($this->clientIp == $this->proxyIp)
{
die('Forbidden:High Anonymous Proxy Connection');
}
}
}
function checkProxy()
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| isset($_SERVER['HTTP_VIA'])
|| isset($_SERVER['HTTP_PROXY_CONNECTION'])
|| isset($_SERVER['HTTP_USER_AGENT_VIA'])
|| isset($_SERVER['HTTP_CACHE_CONTROL'])
|| isset($_SERVER['HTTP_CACHE_INFO']))
{
$this->proxy = true;
$this->proxyIp = preg_replace("/^([{0-9}\.]+).*/", "[url=file://\\1]\\1[/url]", $_SERVER['REMOTE_ADDR']);
return $this->proxy;
}
}

function getIp()
{
if (isset($_SERVER['HTTP_CLIENT_IP']) && $_SERVER['HTTP_CLIENT_IP'])
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'])
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
$this->clientIp = preg_replace("/^([{0-9}\.]+).*/", "[url=file://\\1]\\1[/url]", $ip);
return $this->clientIp;
}
}
?>

 


最新内容: 相关内容:
谈黑客和DDOS攻击防御[2008-01-07]
DDOS攻击日益频繁猛烈 经济利益驱动是主因[2008-01-06]
DDOS + 钓鱼攻击[2008-01-06]
SHELL里实现DDOS攻击[2008-01-06]
变相DDOS攻击之ARP[2008-01-06]
DDOS_RESOD.A[2008-01-06]