Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2801 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] connaitre l'origine du client ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] connaitre l'origine du client ?

n°330528
Big-Foot
Posté le 12-03-2003 à 13:59:49  profilanswer
 

je voudrai connaitre l'origine (l'url de la page) d'ou vient le client.  
je me rappelle avoir vu une variable qui fait ca mais je suis pas du tout sur, j'ai recherché mais sans resultats. Vous connaissez pas un moyen de faire ce que je cherche ?

mood
Publicité
Posté le 12-03-2003 à 13:59:49  profilanswer
 

n°330532
Core 666
Posté le 12-03-2003 à 14:01:43  profilanswer
 

C'est $_SERVER['HTTP_REFERER'] :)
 
Mais bon, cette variable n'est pas forcément renseignée, il est d'ailleurs possible de choisir de ne jamais la rendre publique avec certains browsers.

n°330547
Big-Foot
Posté le 12-03-2003 à 14:15:00  profilanswer
 

ok merci
alors je l'introduirais que si elle existe, comme ca pas de prob

n°330972
ethernal
Chercheur de vérité...
Posté le 12-03-2003 à 17:46:50  profilanswer
 

pour être complet :

Code :
  1. $remote_addr= $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
  2. ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
  3. : $HTTP_SERVER_VARS['REMOTE_ADDR']);



---------------
...oups kernel error...
n°330981
Core 666
Posté le 12-03-2003 à 17:51:59  profilanswer
 

ethernal a écrit :

pour être complet :

Code :
  1. $remote_addr= $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
  2. ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
  3. : $HTTP_SERVER_VARS['REMOTE_ADDR']);



Pour être complet ou pour être à côté de la plaque ?  :whistle:  :p
 
Ton code retourne l'IP probable du gars s'il utilise un proxy, ou son IP publique à défaut. Ca n'a rien à voir avec ce qu'il souhaite :)

n°331046
skylight
Made in France.
Posté le 12-03-2003 à 19:09:29  profilanswer
 

:D

n°331049
skylight
Made in France.
Posté le 12-03-2003 à 19:09:55  profilanswer
 

et puis c'est pas a jour :p
 
on dit $_SERVER[''], now :D

n°331051
Big-Foot
Posté le 12-03-2003 à 19:11:53  profilanswer
 

alors y a juste le 1er ki donne l'origine c'est ca ?  
mais j'ai essayé et il marche pas, je suis sous easyphp c'est peu etre pour ca, mais normalement il fonctionne ?
 
et puis j'ai encore une question, peu on connaitre le nom du pc du client ou pas ?

n°331055
skylight
Made in France.
Posté le 12-03-2003 à 19:14:50  profilanswer
 

Big-Foot a écrit :

alors y a juste le 1er ki donne l'origine c'est ca ?  
mais j'ai essayé et il marche pas, je suis sous easyphp c'est peu etre pour ca, mais normalement il fonctionne ?
 
et puis j'ai encore une question, peu on connaitre le nom du pc du client ou pas ?

bin si tu teste ta page a partir de chez toi, normal que ca marche pas :p
 
pour fair le test, mets ta page sur free, et teste de chez toi

n°331056
skylight
Made in France.
Posté le 12-03-2003 à 19:16:08  profilanswer
 

Big-Foot a écrit :

alors y a juste le 1er ki donne l'origine c'est ca ?  
mais j'ai essayé et il marche pas, je suis sous easyphp c'est peu etre pour ca, mais normalement il fonctionne ?
 
et puis j'ai encore une question, peu on connaitre le nom du pc du client ou pas ?


 
en utilisant la fonction GetHostByAddr
 
http://www.php.net/manual/en/funct [...] byaddr.php

mood
Publicité
Posté le 12-03-2003 à 19:16:08  profilanswer
 

n°331057
gm_superst​ar
Appelez-moi Super
Posté le 12-03-2003 à 19:16:41  profilanswer
 

ethernal a écrit :

pour être complet :

Code :
  1. $remote_addr= $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
  2. ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']
  3. : $HTTP_SERVER_VARS['REMOTE_ADDR']);



En fait c'est un peu plus compliqué que ça. Car l'une de ces variables peut contenir "unknown". Donc il faut tester ce cas là.


Message édité par gm_superstar le 12-03-2003 à 19:20:08

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°331058
skylight
Made in France.
Posté le 12-03-2003 à 19:18:05  profilanswer
 

gm_superstar a écrit :


En fait c'est un peu plus compliqué que ça. Car l'une de ces variables peut contenir "undefined". Donc il faut tester ce cas là.


Ben le IF est là pour ca, non ?

n°331061
gm_superst​ar
Appelez-moi Super
Posté le 12-03-2003 à 19:23:09  profilanswer
 

Skylight a écrit :

Ben le IF est là pour ca, non ?


Bon j'ai édité, c'est pas "undefined" mais "unknown".
 
Non, le IF ne sert qu'à tester l'existance, mais la variable $_SERVER[""] peut contenir la chaine de caractère "unknown", donc c'est à tester.
 
De même que $_SERVER["HTTP_X_FORWARDED_FOR"] peut contenir 2 IP...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°331065
Big-Foot
Posté le 12-03-2003 à 19:28:02  profilanswer
 

Citation :

en utilisant la fonction GetHostByAddr
 
http://www.php.net/manual/en/funct [...] byaddr.php


 
merci ca marche  :jap:

n°331073
Big-Foot
Posté le 12-03-2003 à 19:39:16  profilanswer
 

euh.. bon alors ca je comrend pas trop comment ca fonctionne :  

Code :
  1. $remote_addr= $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] 
  2. ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] 
  3. : $HTTP_SERVER_VARS['REMOTE_ADDR']);


Mais ca retourne quoi en resultat ? les ip ??
pask moi au debut je parlais de la page precedente qu'a visité le client ki arrive sur le site.

n°331090
skylight
Made in France.
Posté le 12-03-2003 à 19:44:06  profilanswer
 

Big-Foot a écrit :

euh.. bon alors ca je comrend pas trop comment ca fonctionne :  

Code :
  1. $remote_addr= $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] 
  2. ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] 
  3. : $HTTP_SERVER_VARS['REMOTE_ADDR']);


Mais ca retourne quoi en resultat ? les ip ??
pask moi au debut je parlais de la page precedente qu'a visité le client ki arrive sur le site.

oui ca renvoie l'ip du gars qui te visite
-soit son IP directe
-soit son IP interne, derriere le proxy (s'il en utilise un)

n°331120
Big-Foot
Posté le 12-03-2003 à 19:53:22  profilanswer
 

ah donc ca a rien a voir avec ce que je cherchais...
 
mais ca m'interesse quand meme, ca change quoi d'utiliser ca plutot que tout simblement ca $REMOTE_ADDR; ?

n°331126
skylight
Made in France.
Posté le 12-03-2003 à 19:55:56  profilanswer
 

Big-Foot a écrit :

ah donc ca a rien a voir avec ce que je cherchais...
 
mais ca m'interesse quand meme, ca change quoi d'utiliser ca plutot que tout simblement ca $REMOTE_ADDR; ?

2 choses :
 
d'une part, respecter les nouveaux standards donnés par php.net
 
(c'est à dire toutes les variables de ce type (en rapport avec le serveur / client) ->> $_SERVER['REMOTE_ADDR'];
 
pourquoi ? car c'est plus sécurisé, aux dires de php.net
 
 
 
et de deuxio, cette fonction renvoie une ip, meme si le gars est derriere un proxy, chose que REMOTE_ADDR ne renvoit pas .

n°331139
Big-Foot
Posté le 12-03-2003 à 20:07:02  profilanswer
 

j'étais pas au courant pour ce standard, merci
 
et juste, pour $_SERVER[], c'est koi la difference avec d'autres trucs comme HTTP_SERVER... y a pas un site qui explik tous ca en fr ?

n°331148
ethernal
Chercheur de vérité...
Posté le 12-03-2003 à 20:12:54  profilanswer
 

Core 666 a écrit :


Pour être complet ou pour être à côté de la plaque ?  :whistle:  :p


 
je dors trop  :sleep: (ou je me réveille pas assez ?)
désolé d'avoir semé le souk dans ce topic


---------------
...oups kernel error...
n°331167
skylight
Made in France.
Posté le 12-03-2003 à 20:20:04  profilanswer
 

Big-Foot a écrit :

j'étais pas au courant pour ce standard, merci
 
et juste, pour $_SERVER[], c'est koi la difference avec d'autres trucs comme HTTP_SERVER... y a pas un site qui explik tous ca en fr ?


tout ce qu'il y a dans HTTP_SERVER_VARS se retrouve dans $_SERVER
 
 
tout pareil pour HTTP_COOKIES_VARS[] qui se retrouve dans $_COOKIE[]
 
 
http://www.php.net/manual/sv/reserved.variables.php

n°331176
Big-Foot
Posté le 12-03-2003 à 20:27:24  profilanswer
 

juste entre temps j'ai trouvé ca : http://dev.nexen.net/docs/php/anno [...] %24_SERVER
alors en fait le HTTP c'est pour les enciennes verisions de php, donc ca change vraiment rien de mettre l'un ou l'autre ?

n°331209
skylight
Made in France.
Posté le 12-03-2003 à 20:58:57  profilanswer
 

:sleep:

n°331218
Big-Foot
Posté le 12-03-2003 à 21:05:41  profilanswer
 

:)  cbon j'ai compris...
 
mais pourkoi si je veu fair echo $ip, il m'ecri mon ip si  
$ip = $REMOTE_ADDR
mais pas si
$ip = $_SERVER['$REMOTE_ADDR'];
 
ca veut dire tout ce qui est dans $_SERVER, est interne au serveur et ne peu etre envoyé au client ??

n°331221
skylight
Made in France.
Posté le 12-03-2003 à 21:06:58  profilanswer
 

Big-Foot a écrit :

:)  cbon j'ai compris...
 
mais pourkoi si je veu fair echo $ip, il m'ecri mon ip si  
$ip = $REMOTE_ADDR
mais pas si
$ip = $_SERVER['$REMOTE_ADDR'];
 
ca veut dire tout ce qui est dans $_SERVER, est interne au serveur et ne peu etre envoyé au client ??


car :  
 
$ip = $_SERVER['REMOTE_ADDR'];

n°331252
Big-Foot
Posté le 12-03-2003 à 21:18:21  profilanswer
 

??

n°331254
skylight
Made in France.
Posté le 12-03-2003 à 21:19:24  profilanswer
 

Il ne faut pas mettre de '$' devant le nom de ta variable ;)
 
en fait toutes les anciennes variables sont regroupées dans un tableau $_SERVER[''], accessibles via leur nom.

n°331304
Big-Foot
Posté le 12-03-2003 à 21:38:37  profilanswer
 

ok merci, je dois etre fatigué...
 
 
j'ai 1 autre truc encore :
 
si que ca, ca fonctionne en local :

Code :
  1. $ip = $_SERVER['REMOTE_ADDR'];


 
pourquoi ca, ca ne fonctionnerait pas en local :

Code :
  1. $remote_addr= $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] 
  2. ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'] 
  3. : $HTTP_SERVER_VARS['REMOTE_ADDR']);


 
 
et pi encore un deuxieme truc  :D  :
 
avec les nouveaux standards ca donne bien ca :

Code :
  1. $remote_addr= $_SERVER['HTTP_X_FORWARDED_FOR'] 
  2. ? $_SERVER['HTTP_X_FORWARDED_FOR'] 
  3. : $_SERVER['REMOTE_ADDR']);


(les HTTP_ je dois les lesser pas vrais ?)

n°331306
skylight
Made in France.
Posté le 12-03-2003 à 21:39:46  profilanswer
 

tu as quelle version de PHP ? (easyphp ? )
 
Et sinon, pour ta deuxieme question, oui ;)

n°331316
Big-Foot
Posté le 12-03-2003 à 21:45:09  profilanswer
 

pour la v. php c'est la 4.2.0
et j'utilise easyphp 1.6.0.0


Message édité par Big-Foot le 12-03-2003 à 21:45:28
n°333910
Big-Foot
Posté le 15-03-2003 à 00:14:11  profilanswer
 

arf j'ai trouvé, il ma suffit de relir le code :
 
: $HTTP_SERVER_VARS['REMOTE_ADDR']);  
 
ca m'apprendra a copier/coller...  :D


Message édité par Big-Foot le 15-03-2003 à 00:14:52
n°333922
Big-Foot
Posté le 15-03-2003 à 00:40:15  profilanswer
 

ethernal a écrit :


 
je dors trop  :sleep: (ou je me réveille pas assez ?)
désolé d'avoir semé le souk dans ce topic


 
merci j'ai apris quelques trucs grace a toi  :jap:    :D  
 
 
mais maintenant si quelqu'un pourais me repondre a ma 1ere question :
 
Comment connaitre (si c'est possible) la page d'ou vient le client qui se connect au script php ? je parle la d'une page qui serait une page quelquonc sur le net et non une page sur mon site.


Message édité par Big-Foot le 15-03-2003 à 00:41:49
n°333926
skylight
Made in France.
Posté le 15-03-2003 à 00:55:49  profilanswer
 

Big-Foot a écrit :


 
merci j'ai apris quelques trucs grace a toi  :jap:    :D  
 
 
mais maintenant si quelqu'un pourais me repondre a ma 1ere question :
 
Comment connaitre (si c'est possible) la page d'ou vient le client qui se connect au script php ? je parle la d'une page qui serait une page quelquonc sur le net et non une page sur mon site.


$_SERVER['REFERRER']

n°334162
Big-Foot
Posté le 15-03-2003 à 20:17:36  profilanswer
 

Skylight a écrit :


$_SERVER['REFERRER']


 
je croi que c'est deja avec un seul R, mais c'est ca $_SERVER['REFERER'] ou ca $_SERVER['HTTP_REFERER'] ?
 
De toute facon ca marche pas, il m'affiche rien du tout quand j'écris ca (ou l'autre version) :  
 

Code :
  1. $prov = $_SERVER['HTTP_REFERER'];
  2. echo $prov;


 
il devrait pas m'afficher l'addresse de la page precedente ?

n°334193
skylight
Made in France.
Posté le 15-03-2003 à 21:24:23  profilanswer
 

Big-Foot a écrit :


 
je croi que c'est deja avec un seul R, mais c'est ca $_SERVER['REFERER'] ou ca $_SERVER['HTTP_REFERER'] ?
 
De toute facon ca marche pas, il m'affiche rien du tout quand j'écris ca (ou l'autre version) :  
 

Code :
  1. $prov = $_SERVER['HTTP_REFERER'];
  2. echo $prov;


 
il devrait pas m'afficher l'addresse de la page precedente ?


 
il ne t'affiche pas l'adresse précédente, il t'affiche l'adresse du site d'ou TU VIENS
si c'est le meme site, alors tu vera rien

n°334199
Big-Foot
Posté le 15-03-2003 à 21:34:46  profilanswer
 

ah...  ok merci   :hello:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] connaitre l'origine du client ?

 

Sujets relatifs
[PHP] cherche planning en php pret à l'emploi et gratuitverifier si le client accepte les cookies ?
PHP ou ASP[PHP] Tableaux: j'arrive pas à récupérer une valeur
[PHP] [FORMULAIRE] Method="post" ==> HTTP 405 - Ressource non autorisé[PHP] Trier un tableau associatif sur le champ de son choix ?
[PHP & XML] Récupérer les id du xml avec du php, c possible ?[PHP] executer un script en tant que root...
[ PHP ] Supprimer un certain nombre de car. dans une chaine[PHP] Upload chez lycos ?
Plus de sujets relatifs à : [PHP] connaitre l'origine du client ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR