Afficher l'adresse IP fixe d'un visiteur.

Eléphant du PHP | 88 Messages

04 janv. 2008, 18:58

Bonjour

Savez-vous comment je peut afficher l'adresse ip fixe de mes visiteur en PHP ?

xxx.xxx.x.xxx

$_SERVER["REMOTE_ADDR"] donne l'adresse IP de connexion, mais comment je fait pour avoir l'adresse IP d'un seul ordinateur ?

Merci
Cordialement zaknaou

Mammouth du PHP | 2937 Messages

04 janv. 2008, 19:15

À part $_SERVER['REMOTE_ADDR'] et gethostbyaddr() (pour obtenir l'hôte à partir de l'adresse IP, ce qui peut être fort utile ;) ), je ne vois pas d'autre solution. :-k

ViPHP
AB
ViPHP | 5818 Messages

04 janv. 2008, 21:48

Bonjour

Savez-vous comment je peut afficher l'adresse ip fixe de mes visiteur en PHP ?

xxx.xxx.x.xxx

$_SERVER["REMOTE_ADDR"] donne l'adresse IP de connexion, mais comment je fait pour avoir l'adresse IP d'un seul ordinateur ?

Merci
Si les ordinateurs sont derrière un proxy, c'est l'admistrateur qui choisi ce qu'il va renvoyer. Et pour des raisons de sécurité c'est souvent complètement insignifiant. Donc à part $_SERVER["REMOTE_ADDR"] le reste est inutilisable.

Eléphanteau du PHP | 15 Messages

05 janv. 2008, 00:57

Tu peux tenter ca pour recuperer la vraie adresse IP de ton visiteur
function realip() {
   //recupere l adresse ip de l ordi de l utilisateur
   if (isSet($_SERVER)) {
    if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) {
     $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    } elseif (isSet($_SERVER["HTTP_CLIENT_IP"])) {
     $realip = $_SERVER["HTTP_CLIENT_IP"];
    } else {
     $realip = $_SERVER["REMOTE_ADDR"];
    }

   } else {
    if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
     $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
    } elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
     $realip = getenv( 'HTTP_CLIENT_IP' );
    } else {
     $realip = getenv( 'REMOTE_ADDR' );
    }
   }
   return $realip;
}

ViPHP
AB
ViPHP | 5818 Messages

05 janv. 2008, 21:09

J'ai retrouvé le lien
http://frederic.bouchery.free.fr/?2004/ ... p-Ip-Houra

Donc comme dit Foulensois, tu peux tenter de récupérer la variable $_SERVER["HTTP_X_FORWARDED_FOR"] mais rien ne dit que cette variable sera utilisable.

Donc tout dépend de ce que tu veux faire... si c'est pour affiner des stats, ça peut le faire, mais n'espère pas faire par exemple un système d'authentification fiable basé sur cette valeur :wink: