網域名稱俱樂部

網域名稱俱樂部 (https://www.domainclub.org/index.php)
-   電腦網路相關技術 (https://www.domainclub.org/forumdisplay.php?f=16)
-   -   請教電腦達人,如何禁止代理IP訪問? (https://www.domainclub.org/showthread.php?t=13414)

runman 2006-10-19 09:12 AM

請教電腦達人,如何禁止代理IP訪問?
 
小弟有個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>


所有時間均為 +8。現在的時間是 02:10 PM

Powered by vBulletin® 版本 3.8.4
版權所有 ©2000 - 2025,Jelsoft Enterprises Ltd.