58 votes

$_SERVER["REMOTE_ADDR"] donne l'IP du serveur plutôt que l'IP du visiteur

J'essaie de suivre les adresses IP des visiteurs. Lorsque $_SERVER["REMOTE_ADDR"] , j'obtiens l'adresse IP du serveur plutôt que celle du visiteur. J'ai essayé cela sur plusieurs machines à plusieurs endroits et ils ont tous abouti à la même adresse IP. Y a-t-il des paramètres PHP/serveur qui pourraient affecter cela ?

13voto

casablanca Points 41814

$_SERVER['REMOTE_ADDR'] donne l'adresse IP à partir de laquelle la requête a été envoyée au serveur Web. Il s'agit généralement de l'adresse du visiteur, mais dans votre cas, il semble qu'il y ait une sorte de proxy installé juste avant le serveur Web qui intercepte les demandes, donc pour le serveur Web, il semble que les demandes proviennent de là.

9voto

hammady Points 170

Ne cherchez plus les adresses IP qui ne sont pas définies dans l'en-tête attendu. Procédez simplement comme suit pour inspecter l'ensemble des variables du serveur et déterminer celle qui convient à votre cas :

 print_r($_SERVER);

3voto

chiappa Points 328

Remplacement :

 $_SERVER["REMOTE_ADDR"];

Avec:

 $_SERVER["HTTP_X_REAL_IP"];

A travaillé pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X