2011-03-26 2 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 (내 뜻을 보여주는 아주 분명한 예!)