1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>MON IP</TITLE>
</HEAD><BODY>
<h2>DETECTION DES PARAMETRE DU VISITEUR:</h2>
<?
$nav_os = $_SERVER["HTTP_USER_AGENT"]; // récuperation des infos de connection (OS/BROWSER)
if (isset($_SERVER['HTTP_CLIENT_IP'])) // si proxy détecté
{
$ip = $_SERVER['HTTP_CLIENT_IP']; // récuperation de l'ip supposé du client
$host = gethostbyaddr($ip); // recuperation de l'hote supposé du client
$ip_proxy = $_SERVER['REMOTE_ADDR']; // récuperation de l'ip du proxy
$host_proxy = gethostbyaddr($ip_proxy); // recuperation de l'hote du proxy
// on détermine le type de proxy et si possible l'ip reel du client
if($host_proxy = $ip_proxy) // si la fonction gethostbyaddr($ip_proxy) échoue et qu'elle retourne $ip_proxy, proxy hautement sécurisé
{
$type_proxy = 'proxy hautement anonyme';
$ip = 'rien'; // car on ne peut pas savoir l'ip
$host = 'rien'; // car on ne peut pas savoir l'hote
}
elseif($ip != $ip_proxy) // si proxy aléatoire ou proxy transparent (normal), on doit définir lequel
{
// on execute une deuxieme requete pour voir si l'ip2 differt de l'ip
$ip2 = $ip = $_SERVER['HTTP_CLIENT_IP'];
if($ip != $ip2) // si proxy aléatoire (ip aleatoire pour le client)
{
$type_proxy = 'proxy aléatoire';
$ip = "$ip (aleatoire)"; // car on ne peut pas savoir l'ip
$host = "$host"; // car on ne peut pas savoir l'hote
}
else // si proxy transparent (normal) (ip et host client récuperable)
{
$type_proxy = 'proxy transparent (normal)';
}
}
else // si proxy anonyme (ip et host sont celles du proxy)
{
$type_proxy = 'proxy anonyme';
$ip = 'même ip que proxy'; // car on ne peut pas savoir l'ip
$host = 'même hote que proxy'; // car on ne peut pas savoir l'hote
}
}
elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) // si proxy détecté
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR']; // récuperation de l'ip supposé du client
$host = gethostbyaddr($ip); // recuperation de l'hote supposé du client
$ip_proxy = $_SERVER['REMOTE_ADDR']; // récuperation de l'ip du proxy
$host_proxy = gethostbyaddr($ip_proxy); // recuperation de l'hote du proxy
// on détermine le type de proxy et si possible l'ip reel du client
if($host_proxy = $ip_proxy) // si la fonction gethostbyaddr($ip_proxy) échoue et qu'elle retourne $ip_proxy, proxy hautement sécurisé
{
$type_proxy = 'proxy hautement anonyme';
$ip = 'rien'; // car on ne peut pas savoir l'ip
$host = 'rien'; // car on ne peut pas savoir l'hote
}
elseif($ip != $ip_proxy) // si proxy aléatoire ou proxy transparent (normal), on doit définir lequel
{
// on execute une deuxieme requete pour voir si l'ip2 differt de l'ip
$ip2 = $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if($ip != $ip2) // si proxy aléatoire (ip aleatoire pour le client)
{
$type_proxy = 'proxy aléatoire';
$ip = "$ip (aleatoire)"; // car on ne peut pas savoir l'ip
$host = "$host"; // car on ne peut pas savoir l'hote
}
else // si proxy transparent (normal) (ip et host client récuperable)
{
$type_proxy = 'proxy transparent (normal)';
}
}
else // si proxy anonyme (ip et host sont celles du proxy)
{
$type_proxy = 'proxy anonyme';
$ip = 'même ip que proxy'; // car on ne peut pas savoir l'ip
$host = 'même hote que proxy'; // car on ne peut pas savoir l'hote
}
}
else // si pas de proxy détecté
{
$ip = $_SERVER['REMOTE_ADDR']; // recuperation de l'ip du membre
$host = gethostbyaddr($ip); // recuperation de l'hote du membre
$ip_proxy = 'pas de proxy'; // pas d'ip proxy
$host_proxy = 'pas de proxy'; // pas d'hote proxy
$type_proxy = 'pas de proxy';
}
echo "<b>Tes infos naviguateur, système d’exploitation :</b> $nav_os<br/>";
echo "<b>le type de proxy utilisé est :</b> $type_proxy<br/>";
echo "<b>Ton IP réelle est :</b> $ip<br/>";
echo "<b>Ton HOST réel est :</b> $host<br/>";
echo "<b>Ton IP PROXY réel est :</b> $ip_proxy<br/>";
echo "<b>Ton HOST PROXY réel est :</b> $host_proxy<br/>";
?>
</BODY></HTML> |
Partager