JeuWeb - Crée ton jeu par navigateur
Récupérer l'IP des utilisateurs - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Récupérer l'IP des utilisateurs (/showthread.php?tid=7511)



Récupérer l'IP des utilisateurs - hercull - 24-11-2015

Je rencontre un autre probleme, mais cette fois en php.

J'aimerai récupérer l'adresse ip des utilisateurs.
J'avais une fonction qui fonctionnais avant mais apparemment c'est obsolète la voici:


Code PHP :
<?php 
           function get_ip
() {
               if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                   $ip1 = $_SERVER['HTTP_X_FORWARDED_FOR'];
               } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
                   $ip1 = $_SERVER['HTTP_CLIENT_IP'];
               } else {
                   $ip1 = $_SERVER['REMOTE_ADDR'];
               }
               return $ip1;
           }

           $ip1 = get_ip();

Voici le resultat : "::1"

Comment procédez-vous pour faire cela?

Merci.

<<Edit: Autre problème = autre sujet s. Xenos>>


RE: Probleme bootsrap - niahoo - 24-11-2015

ça marche, ::1 est simplement to localhost en IPv6 ...


RE: Récupérer l'IP des utilisateurs - Xenos - 24-11-2015

Bonne réponse de niahoo.

Sinon, dans l'implé, array_key_exists sera plus approprié que isset car isset peut renvoyer null pour d'autres raisons qui peuvent échapper à la relecture (par exemple, une faute de frappe isset($SERVER['...']): cela renverra toujours false alors que array_key_exists($SERVER, '...') te diras que $SERVER is undefined et tu pourras corriger l'erreur de typo).

Après, est-ce que ces données, qui viennent du client, sont non-fiables: le client peut très bien faire une requête où il définit X-Forwarded-For: mesGenoux... Il faudrait idéalement checker la bonne syntaxe de la valeur en plus de son existence (de mémoire, il y a des fonctions PHP qui le font, et je dirai que des composants déjà existants peuvent également s'occuper de récupérer l'IP du client).