Connaître l'IP des visiteurs

Signaler
Messages postés
15
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2007
-
Messages postés
15
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2007
-
Bonjour à tous,

Je suis assez débutant en php et je souhaiterai connaître l'adresse ip des personnes visitant une certaine page de mon site.

Je me suis inspiré de ceci:
http://www.phpcs.com/code.aspx?ID=12938
Mais le problème est que la commande utilisée dans cette méthode ne permet pas d'avoir l'adresse ip de pcs se connectants à partir d'un réseau; elle n'affiche que l'adrese ip qu'ont ces pcs sur le réseau local.

Y a-t-il une autre solution s'il vous plaît ?

Merci d'avance pour votre aide :)

7 réponses

Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
$_SERVER['REMOTE_ADDR']

Chaque ordinateur peut avoir plusieurs IP, c'est la manière d'acceder à un service que tu peux savoir quel est son IP.
Si par exemple ton serveur est sur l'IP
66.99.99.99
et en local
10.0.0.1

Si avec un ordi branché en local avec cet ordi tu vas sur 10.0.0.1 tu vas obtenir l'ip local de la machine
Si l'autre ordi a un propre acces internet (même si celui ci est branché en local), tu vas obtenir son adresse Internet
Si l'autre ordi passe par 66.99.99.99 pour avoir internet, tu vas obtenir l'adresse locale.

Si tu t'expliques mieux peut-etre qu'on peut mieux t'aider, mais ici c'est un problème de compréhension d'IP et non de code.

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
Messages postés
15
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2007

Merci.

Je vais essayer d'être un peu plus clair :)

La page est hébergée chez Tiscali sur mon site.
Je me connecte dessus à partir d'un pc ne disposant pas de connexion internet directe (il est relié en réseau à un autre pc qui lui partage la connexion internet).
Donc l'adresse IP de mon pc est 192.168.0.40.
Et c'est justement cette adresse IP qui est enregistrée dans le fichier log.txt sur mon site au lieu de l'adresse IP du pc sur internet.

J'ai essayé chez un autre hébergeur que Tiscali et sa marche :shock) !

Donc apparement, c'est un problème avec Tiscali.

J'ai tout de même un autre problème avec cette commande.
En essayant de me connecter à la page contenant le script, mais cette fois-ci herbergée sur mon pc à l'aide d'EasyPHP, elle est mal interprétée !

Voici le message d'erreur qui apparaît dans la page:

"Notice: Undefined variable: REMOTE_ADDR in c:\program files\easyphp1-7\www\ip.php3 on line 3 "

Easy PHP ne connaît pas cette commande ?
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Il faut utiliser
$_SERVER['REMOTE_ADDR']
et non $REMOTE_ADDR

Ensuite, si ton ordi passe par un "routeur" ou serveur il est impossible que sur le serveur Tascali que tu obtiennes une adresse locale. Le serveur (chez toi) se connect sur la page... et c'est Tascali qui résoud ton IP.
Donc il est impossible qu'il trouve 192.xxx

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
Messages postés
15
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2007

Merci pour ton aide, mais c'est pourtant bien le cas, il n'affiche que l'adresse du réseau local (voir la capture).

J'ai essayé en changeant avec mais maintenant, il n'affiche aucune adresse IP !?

Sinon, la modification à l'air de fonctionner pour EasyPhp :)
Messages postés
15
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2007

Je voulais dire que j'ai essayé en changeant avec $_SERVER['REMOTE_ADDR'], mais maintenant, il n'affiche même plus l'adresse du reseau local, il n'affiche rien comme adresse (seulement la date et l'heure) !
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Ordi de merde, paye toi un hébergement...
Vérifie ce qu'il se passe dans le phpinfo
(fais un fichier et mets
<?php
phpinfo()
?>
dedans... et tu vas voir les informations !
Tu verras aussi s'il y a le REMOTE_ADDR

Tu as peut-etre une version super buggué...
Peut-etre as tu du IPv6 ?

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
Messages postés
15
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2007

Et bien dans le phpinfo, il met "REMOTE_ADDR 192.168.40.138 " !!
Ce n'est pas sur mon pc hein, c'est sur le serveur de Tiscali.

Enfin bon, c'est pas trop grave, car j'ai trouvé un autre herbergeur chez qui sa marche :)

Je ne pense pas avoir du IPv6...

Merci en tout cas pour ton aide :)