2011-03-26 42 views
0

歡迎,使用PHP腳本測試用戶HTTP代理

我正在編寫應用程序什麼將允許我嘗試檢測何種類型的HTTP代理用戶已安裝。

腳本中調用遠程服務器添加參數http://xxxx.php?my_ip=real_IP

這裏是我的應用程序:

<?php 

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 


$real_ip=$_GET['my_ip']; 


$ip1=$_SERVER['HTTP_X_FORWARDED_FOR']; 
$ip2=$_SERVER['HTTP_X_FORWARDED']; 
$ip3=$_SERVER['HTTP_FORWARDED_FOR']; 
$ip4=$_SERVER['HTTP_CLIENT_IP']; 
$ip5=$_SERVER['HTTP_VIA']; 

$ip6=$_SERVER['REMOTE_ADDR']; 

$ip_array[1]=$ip1; 
$ip_array[2]=$ip2; 
$ip_array[3]=$ip3; 
$ip_array[4]=$ip4; 
$ip_array[5]=$ip5; 


if($ip6==$real_ip) 
{ 
    echo "You are not using proxy."; 
} 
else 
{ 

if(in_array($real_ip, $ip_array)) 
{ 
    echo "You are using transparent proxy with one releave your ip."; 
} 
else 
{ 

    if($_SERVER['HTTP_X_FORWARDED_FOR'] 
    || $_SERVER['HTTP_X_FORWARDED'] 
    || $_SERVER['HTTP_FORWARDED_FOR'] 
    || $_SERVER['HTTP_CLIENT_IP'] 
    || $_SERVER['HTTP_VIA']) 
    { 
    echo "You are using anonymous proxy with one protect Your IP but inform www servers about using proxy";  
    } 
    else 
    { 
    echo "You are using elite proxy, with one hide your IP and don't inform www servers about using proxy";  
    } 


} 
} 




$table=<<<table 

<p>Ip HTTP_X_FORWARDED_FOR FOR : $ip1</p> 
<p>Ip HTTP_X_FORWARDED : $ip2</p> 
<p>Ip HTTP_FORWARDED_FOR FOR : $ip3</p> 
<p>Ip HTTP_CLIENT_IP FOR : $ip4</p> 
<p>Ip HTTP_VIA FOR : $ip5</p> 
<p>Ip remote addr : $ip6</p> 

table; 
echo $table; 

?> 

我運行一些測試和應用程序看起來工作得很好。

如果您有任何提示,請告訴我。

我的意思是我想知道我不會錯過重要的事情。

問候

回答

0

另一種方式的一些主要參與者(貝寶,易趣,具有高安全性等網站)找到代理是看你的IP的主機名與gethostbyaddr(),它可以揭示可能的來源做代理例如server.squid.com(非常明顯的例子來向你展示我的意思!)