2011-03-26 22 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

をいくつかの主要なプレーヤー(ペイパル、イーベイなど高いセキュリティを持っている部位)のプロキシを見つけているもう一つの方法はに思われるソースを明らかにすることができますはgethostbyaddr()を使用してIPのホスト名を調べることです代理人になれるserver.squid.com(私が何を意味するかを示すための非常に明白な例)