Version complète: sur le forum Webmaster Hub : Trouver le nom de domaine...
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Tizel
Bonjour,

Je suis en train d'écrire un formulaire d'envoie de mail en PHP. Pour sécuriser un peu le truc, je vais loguer les adresses mails des gens qui vont poster.

Le problème, c'est que pour ceux qui ne sont pas en IP fixe, ce n'est pas trés performant. Je voudrais récupérer le nom de la machine ou le nom de leur FAI. Genre bidultruc_AT_abo-wanadoo.fr

Y a t'il une variable qui renvoie directement cette information ? et si non, comment je fais pour récupérer un maximum d'infos sur l'utilisateur ?

Tizel
Dan
Salut Tizel,

C'est impossible d'avoir plus d'infos, et c'est heureux.
Imagines un seul instant que l'on puisse récolter l'adresse email d'un visiteur aussi facilement, rien que parce qu'il a regardé une page web. Imagines le déluge de spam supplémentaire dans les boîtes email si c'était possible... sad.gif

On récolte pas mal d'infos, mais heureusement pas les emails.

Dan
Country
Le plus simple serai de demander aux visiteurs de s'enregistrer sur le site avant de pouvoir utiliser le formulaire wink.gif
Bug
CITATION
Imagines un seul instant que l'on puisse récolter l'adresse email d'un visiteur aussi facilement, rien que parce qu'il a regardé une page web. Imagines le déluge de spam supplémentaire dans les boîtes email si c'était possible...


en fait, le 'bidultruc_AT_abo-wanadoo.fr' n'est pas une adresse mail mais une identification de la machine sur le reseau donc, pas de risque de spam, mais pas plus utile que l'adresse ip dans ce cas precis car ils sont atribues a la conection (en tous cas chez wanadoo cable) et probablement dynamiques comme les ip, a moins que ce soit lie au modem cable/adsl et la, il pourait eventuellement te servir, mais comment le recuperer est une autre histoire

bonne nuit
Tizel
CITATION(Bug @ samedi 01 mai 2004, 00:10)
en fait, le 'bidultruc_AT_abo-wanadoo.fr' n'est pas une adresse mail mais une identification de la machine sur le reseau

Oui... Je sais qu'on ne peux pas récupérer l'adresse mail de la personne...

Par contre, il y a des outils de stats qui arrivent à récupérer l'identifiant de la machine... (bidultruc_AT_abo-wanadoo.fr). Dans le cas de mon mailer, ça m'interesserait fortement car ce serait plus simple, en cas de spam, que de faire une résolution d'adresse IP.

Tizel
Anonymus
Les données que tu peux récupérer sont des variables d'environnement.
Tu y a accès avec la fonction getenv(VARIABLE);

Ces variables sont nombreuses, et dispo ici :
http://hoohoo.ncsa.uiuc.edu/cgi/env.html

Pour ce que tu cherches spécifiquement, voici un morceau de code :
CODE
<?

echo "<br>trouver l'ip par les variables d'environnenemt : <b>".getenv("REMOTE_ADDR")."</b>";

echo "<br>trouver le host par les variables d'environnenemt : <b>-".getenv("REMOTE_HOST")."</b>";

echo"<br>";

echo "<br>trouver le host par la fonction gethostbyaddr, et le paramètre getenv : <b>".gethostbyaddr(getenv("REMOTE_ADDR"))."</b>";

echo"<br> Puisque l'on a le host, on peut donc chercher l'ip correspondante;) avec la fonction gethostbyname : <b>".gethostbyname(gethostbyaddr(getenv("REMOTE_ADDR")))."</b>";

echo"<p>===============================";


echo"<br>Afficher l'adresse de quelqu'un, sous forme xxx.xxx.monfournisseur.tld";

echo"<br> Avec explode :";
$temp = explode(".",gethostbyaddr(getenv("REMOTE_ADDR")));
echo "<br><b>xxx.xxx.".$temp[2].".".$temp[3]."</b>";

echo"<p> La même chose, en expression régulière :";
echo "<br><b>".preg_replace("/([a-z0-9]+).([a-z0-9]+).([a-z0-9]+).([a-z0-9]+)/i","xxx.xxx.\\3.\\4",gethostbyaddr(getenv("REMOTE_ADDR")))."</b>";

?>


On ne peut le tester en local , c'est pourquoi il est sur internet, ici :
http://www.labonneadresse.com/test_ip.php

Et la copie d'écran, qui, pour moi sera différent de la tienne (normalement ) :
CODE
trouver l'ip par les variables d'environnenemt : 172.206.121.52
trouver le host par les variables d'environnenemt : -

trouver le host par la fonction gethostbyaddr, et le paramètre getenv : ACCE7934.ipt.aol.com
Puisque l'on a le host, on peut donc chercher l'ip correspondante;) avec la fonction gethostbyname : 172.206.121.52
===============================
Afficher l'adresse de quelqu'un, sous forme xxx.xxx.monfournisseur.tld
Avec explode :
xxx.xxx.aol.com

La même chose, en expression régulière :
xxx.xxx.aol.com


Voilà,
Anonymus.
Tizel
Merci Anonymus, c'est exactement ce que je cherchais...

Le dieu du PHP est parmis nous wink.gif

Tizel
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.