|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour
Je voudrai récupérer la valeur de la variable %USERNAME% des clients, afin de pouvoir faire une interro LDAP et récupérer l'adresse email de l'utilisateur. La fonction avec le LDAP est faite par contre j'ai peur pour mon %USERNAME% car je trouve rien là dessus. Je suis preneur de toute idée ou info. Merci Stephane |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Bonjour,
> Je voudrai récupérer la valeur de la variable %USERNAME% des clients, > Je suis preneur de toute idée ou info. Tout ceci a très peu de rapport avec PHP sauf dans un cas très précis où php tournerait en application autonome (par exemple avec gtk) sur la même machine. Reprenons: comment PHP récupère-t-il des informations ? Par réception (événementielle donc) de requête http. Que récupère-t-il donc : les informations envoyées volontairement en GET ou POST et et des headers ajoutés par le navigateur, auxquels sont ajoutés des informations purement serveur. Cf http://fr2.php.net/manual/en/languag...predefined.php Ceci étant posé, quand le but est d'obtenir une information côté seveur, il n'y a que deux solutions: - soit elle est transmise "automatiquement" par le navigateur (ce qui ne veut pas dire qu'elle est fiable ! Les injections SQL sur le REFERER c'est possible...) - soit il faut se coltiner de la transmettre par du code exécuté sur le client (navigateur: JS, aspx, applet, etc.) Quoi qu'il en soit, PHP ne fera que recevoir, certainement pas émettre. HTH JG |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
John GALLET a écrit :
> Bonjour, > >> Je voudrai récupérer la valeur de la variable %USERNAME% des clients, >> Je suis preneur de toute idée ou info. > > Tout ceci a très peu de rapport avec PHP Ben si un p'tit peu quand même car c'est le langage que j'utilise avec EasyPhp2. J'aurait peut etre du le dire plutot :-)) > - soit elle est transmise "automatiquement" par le navigateur (ce qui ne > veut pas dire qu'elle est fiable ! Les injections SQL sur le REFERER > c'est possible...) Oui mais bon c'est sur le réseau local de la société donc je suis aps trop inquiet de ca pour l'instant. Tous les users sont nommés de la même façon facile à vérifier. Apparement un $_ENV['USERNAME'] aurait pu m'aider mais ca ne donne rien. Y'a peut-être quelque hcose à faire au niveau de l'entete, mais dès fois que ca ce serait pas vu je suis novice :-)) et je comprends pas trop les subtilités des entêtes. > - soit il faut se coltiner de la transmettre par du code exécuté sur le > client (navigateur: JS, aspx, applet, etc.) Oui mais comment ? > Quoi qu'il en soit, PHP ne fera que recevoir, certainement pas émettre. Ca je l'ai bien compris. Merci Stephane |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
> Quoi qu'il en soit, PHP ne fera que recevoir, certainement pas émettre.
Et donc je conlue a ta place: Ce n'est pas possible car s'il etait possible d'obtenir une info de l'utilisateur sans lui demander quoique ce soit, ce serait la plus grosse faille de sécurité qu'on puisse imaginer ! Etienne |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Bonjour,
> > Tout ceci a très peu de rapport avec PHP > Ben si un p'tit peu quand même car c'est le langage que j'utilise avec > EasyPhp2. J'aurait peut etre du le dire plutot :-)) Ben non. On s'en fiche, que ce soit le destinataire de l'information car il est totalement passif dans un cadre http. Si on est dans un cadre php-gtk, c'est plus la même musique. > Oui mais bon c'est sur le réseau local de la société Ca ne change rien. Si ce n'est qu'il est encore plus facile de spoofer des IP locales en débranchant le câble réseau de la cible par exemple. > niveau de l'entete, mais dès fois que ca ce serait pas vu je suis novice > :-)) et je comprends pas trop les subtilités des entêtes. Il n'y a *rien* à comprendre aux headers envoyés par le navigateur quand il fait une requête http. Il se conforme (parfois...) aux RFCs qui vont bien, c'est tout. Ou il envoie l'information tout seul, ou il faut lui demander de le faire en le codant dans un langage côté client. > > - soit il faut se coltiner de la transmettre par du code exécuté sur le > > client (navigateur: JS, aspx, applet, etc.) > Oui mais comment ? J'en sais rien car je le répète: dans le cadre de requête http rien à voir avec php. Poser la question là où les experts de ces langages sont présents, c'est à dire par exemple fr.comp.lang.javascript pour le JS, etc. Si vous avez déjà fait un print_r() sur toutes les variables présentes dans la section du manuel que j'ai indiquée et qu'aucune ne convient, alors ce n'est pas en PHP (donc pas ici) que ça se passe. > > Quoi qu'il en soit, PHP ne fera que recevoir, certainement pas émettre. > Ca je l'ai bien compris. Apparement non. JG |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
John GALLET a écrit :
>> Oui mais bon c'est sur le réseau local de la société > Ca ne change rien. Si ce n'est qu'il est encore plus facile de spoofer des > IP locales en débranchant le câble réseau de la cible par exemple. Oui merci, mais ca donnera pas grand chose chez nous. Son IP je m'en fou ce que je veux c'est le USERNAME. >> niveau de l'entete, mais dès fois que ca ce serait pas vu je suis novice >> :-)) et je comprends pas trop les subtilités des entêtes. > > Il n'y a *rien* à comprendre aux headers envoyés par le navigateur quand > il fait une requête http. Il se conforme (parfois...) aux RFCs qui vont > bien, c'est tout. Ou il envoie l'information tout seul, ou il faut lui > demander de le faire en le codant dans un langage côté client. Je me disais qu'en envoyant différent entetes on pouvait avoir différentes informations. Ce qui effectivement dans ce cas n'a rien à voir avec PHP >>> - soit il faut se coltiner de la transmettre par du code exécuté sur le >>> client (navigateur: JS, aspx, applet, etc.) >> Oui mais comment ? > > J'en sais rien car je le répète: dans le cadre de requête http rien à voir > avec php. Poser la question là où les experts de ces langages sont > présents, c'est à dire par exemple fr.comp.lang.javascript pour le JS, > etc. > > Si vous avez déjà fait un print_r() sur toutes les variables présentes > dans la section du manuel que j'ai indiquée et qu'aucune ne convient, > alors ce n'est pas en PHP (donc pas ici) que ça se passe. T'inquiète j'ai bien compris que tu voulais que j'aille poster ailleurs :-)) Mais ce qui me fait rester c'est que PHP propose ce tableau $_ENV qui est désespérément vide chez moi. Je trouve ca bizarre. Surtout que dans certain document on trouve trace de $_ENV['USERNAME']. Ca me laisse perplexe... >>> Quoi qu'il en soit, PHP ne fera que recevoir, certainement pas émettre. >> Ca je l'ai bien compris. > Apparement non. Ben si je te promets, je me fais peut-etre mal comprendre mais si Stephane |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Stephane a écrit :
> Bonjour > > Je voudrai récupérer la valeur de la variable %USERNAME% des clients, > afin de pouvoir faire une interro LDAP et récupérer l'adresse email de > l'utilisateur. La fonction avec le LDAP est faite par contre j'ai peur > pour mon %USERNAME% car je trouve rien là dessus. > Je suis preneur de toute idée ou info. > > Merci > Stephane Si tu veux récupérer une variable dans un script PHP, il faut lui passer ! exemple d'un bat windows : php.exe C:\SMS\postcommit\engine.php %REPOS% %REV% Le script engine.php va récupérer les variables REPOS et REV de la manière suivante : $repos= $argv[1]; $rev= $argv[2]; Bon courage, @livier. |
|
![]() |
| Outils de la discussion | |
|
|