Salut à tous

J'essaye en ce moment de mettre au point une fonction de détection de parametre du client (navigateur, os, ip, et surtout proxi). j'ai fait une page de test simple qui fait juste afficher les paramètre du visiteur afin de lancer le beta-test

voici le code php de cette page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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&ecirc;me ip que proxy';   // car on ne peut pas savoir l'ip
            $host = 'm&ecirc;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&ecirc;me ip que proxy';   // car on ne peut pas savoir l'ip
            $host = 'm&ecirc;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&egrave;me d&rsquo;exploitation :</b> $nav_os<br/>";
echo "<b>le type de proxy utilis&eacute; est :</b> $type_proxy<br/>";
echo "<b>Ton IP r&eacute;elle est :</b> $ip<br/>";
echo "<b>Ton HOST r&eacute;el est :</b> $host<br/>";
echo "<b>Ton IP PROXY r&eacute;el est :</b> $ip_proxy<br/>";
echo "<b>Ton HOST PROXY r&eacute;el est :</b> $host_proxy<br/>";
 
?>
</BODY></HTML>
si certaint d'entre vous utilise un proxy pour surfer anonymement, j'aimerai avoir un retour d'info de ce beta-test (copier/coller des info de proxy sur ce sujet). Attention quand même à ne pas copier/coller votre ip perso et votre hote perso

merci d'y ajouter aussi une confirmation que le type de proxy détecter correspond bien à celui que vous utiliser...

merci d'avance pour vos réponse et conseil