PDA

查看完整版本 : 請教電腦達人,如何禁止代理IP訪問?


runman
2006-10-19, 09:12 AM
小弟有個DISCUZ論壇,是PHP的,
想禁止代理IP訪問論壇,有沒有達人給小弟指點一下?~pighead

我在網上找到一段禁止代理訪問的代碼,可不知道效果如何,也不知道該加在哪裏。
if ($is_allow_proxy==no)
{
$remote_ip=$_SERVER['REMOTE_ADDR'];
function getip() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{$realip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif (isset($_SERVER['HTTP_CLIENT_IP'])){
$realip=$_SERVER['HTTP_CLIENT_IP'];
}
else
{
$realip=$_SERVER['REMOTE_ADDR'];
}
return $realip;
}
($remote_ip!==getip()) //如果使用了代理
}
?>
<script language=vbscript>
location.href="转向地址"
</script>
<?
exit;
}
else{
setcookie("proxyyz","yes",time()+864000,"/",".domain.com",0);
}
}
?>

有沒有達人知道更好的禁止代理訪問的代碼?

alextung
2006-10-19, 12:01 PM
如果你對apache的mod_rewrite有興趣的話,
可以研究看看~

some
2006-10-19, 12:28 PM
very good script, but you lose an important variable,
you need to add on line
$is_allow_proxy = "no";
before this section:

if ($is_allow_proxy==no)
{
$remote_ip=$_SERVER['REMOTE_ADDR'];
function getip() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{$realip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif (isset($_SERVER['HTTP_CLIENT_IP'])){
$realip=$_SERVER['HTTP_CLIENT_IP'];
}
else
{
$realip=$_SERVER['REMOTE_ADDR'];
}
return $realip;
}
($remote_ip!==getip()) //如果使用了代理
}
?>
those sections should be added in the top part of index.php

<script language=vbscript>
location.href="转向地址"
</script>
<?
exit;
}
else{
setcookie("proxyyz","yes",time()+864000,"/",".domain.com",0);
}
}
?>

this section should be added to the top section of page, between <head> and </head>