$INCLUDES = 'includes/'; ?>
In this page you can know your IP address and discover if the proxy server you are eventually using really makes you anonymous.
|
/*--------------------------------------------------
extractIP2()
--------------------------------------------------*/
function extractIP2($ip) {
$b = ereg ("^([0-9]{1,3}\.){3,3}[0-9]{1,3}", $ip, $array);
if ($b) return $array;
else return false;
}
/*--------------------------------------------------
get_IP2()
--------------------------------------------------*/
function get_IP2() {
$REMOTE_HOST = $_ENV['REMOTE_HOST'];
$REMOTE_ADDR = $_ENV['REMOTE_ADDR'];
if($REMOTE_HOST) {
$array = extractIP2($REMOTE_HOST);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
return $REMOTE_ADDR;
}
/*--------------------------------------------------
get_real_IP2()
get the real IP if hidden by proxy
--------------------------------------------------*/
function get_real_IP2() {
$HTTP_VIA = $_ENV['HTTP_VIA'];
$HTTP_X_COMING_FROM = $_ENV['HTTP_X_COMING_FROM'];
$HTTP_CLIENT_IP = $_ENV['HTTP_CLIENT_IP'];
$HTTP_X_FORWARDED_FOR = $_ENV['HTTP_X_FORWARDED_FOR'];
$HTTP_X_FORWARDED = $_ENV['HTTP_X_FORWARDED'];
$HTTP_COMING_FROM = $_ENV['HTTP_COMING_FROM'];
$HTTP_FORWARDED_FOR = $_ENV['HTTP_FORWARDED_FOR'];
$HTTP_FORWARDED = $_ENV['HTTP_FORWARDED'];
$REMOTE_HOST = $_ENV['REMOTE_HOST'];
$REMOTE_ADDR = $_ENV['REMOTE_ADDR'];
if($HTTP_X_FORWARDED_FOR) { // case 1.A: proxy && HTTP_X_FORWARDED_FOR is defined
$array = extractIP2($HTTP_X_FORWARDED_FOR);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
if($HTTP_X_FORWARDED) { // case 1.B: proxy && HTTP_X_FORWARDED is defined
$array = extractIP2($HTTP_X_FORWARDED);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
if($HTTP_FORWARDED_FOR) { // case 1.C: proxy && HTTP_FORWARDED_FOR is defined
$array = extractIP2($HTTP_FORWARDED_FOR);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
if($HTTP_FORWARDED) { // case 1.D: proxy && HTTP_FORWARDED is defined
$array = extractIP2($HTTP_FORWARDED);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
if($HTTP_CLIENT_IP) { // case 1.E: proxy && HTTP_CLIENT_IP is defined
$array = extractIP2($HTTP_CLIENT_IP);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
/*
if($HTTP_VIA) {
// case 2:
// proxy && HTTP_(X_) FORWARDED (_FOR) not defined && HTTP_VIA defined
// other exotic variables may be defined
return ( $HTTP_VIA .
'_' . $HTTP_X_COMING_FROM .
'_' . $HTTP_COMING_FROM
) ;
}
if( $HTTP_X_COMING_FROM || $HTTP_COMING_FROM ) {
// case 3: proxy && only exotic variables defined
// the exotic variables are not enough, we add the REMOTE_ADDR of the proxy
return ( $REMOTE_ADDR .
'_' . $HTTP_X_COMING_FROM .
'_' . $HTTP_COMING_FROM
) ;
}
*/
// case 4: no proxy (or tricky case: proxy+refresh)
if($REMOTE_HOST) {
$array = extractIP2($REMOTE_HOST);
if ($array && count($array) >= 1) {
return $array[0]; // first IP in the list
}
}
return $REMOTE_ADDR;
}
$indirizzoIpReale = get_real_IP2();
print " Your detected IP address is $indirizzoIpReale (".gethostbyaddr($indirizzoIpReale).") - whois search "; $indirizzoIpProxy = get_IP2(); if ($indirizzoIpProxy != $indirizzoIpReale) print 'You are using a transparent proxy Hmmm
|
The headers your browser sends are :
/* $headers = apache_request_headers(); foreach ($headers as $header => $value) { if ($header != 'Cookie') echo "$header: $value\n"; } */ ?>If you believe that the data found in this page is not correct for any reason, please .
Proxy server categories: