recuperer une variable $PHP_AUTH_USER

recuperer une variable $PHP_AUTH_USER - PHP - Programmation

Marsh Posté le 02-05-2003 à 12:19:24    

Peut-on récuperer par exemple le speudo (contenu dans un prompt d'identification), d'un utilisateur afin d'effectué de nouvelles requêtes?  
Plus concret: j'ai un dossier qui contient des pages web permettant de modifier des infos sur les membres.  
Le dossier est proteger par .htaccess et un fichier contenant les pass.  
Le but est qu'une fois l'identification effectuée, je recupere les infos contenu dans ce promt, pour executé une requete contenant tts les infos du membre en question.  
 
J'espère avoir été clair!!  
 
Eroqam.

Reply

Marsh Posté le 02-05-2003 à 12:19:24   

Reply

Marsh Posté le 02-05-2003 à 13:56:07    

ben t'es clair...a tel point que je me demande même si tu as un pb ?
si tu veux stocker les infos, soit tu passes tes variables a chaque fois dans l'url ou en post soit tu geres ca avec les sessions  [:spamafote]  
 


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-05-2003 à 15:40:17    

Bin oui c clair et non g pas de pb.
bon j'explique un peu plus.
Je voudrais faire un acces securisé vers un fichier index.php dans un sous dossier de mon site gérant les infos sur ce dernier.
Donc sur mon site, le membre va sur ce fameux index via un lien hypertext, et ce retrouve donc en présence d'un prompt lui demandant de s'identifier (les identifiants étant stocké dans un fichier .htpasswd dans le sous rep). jusque là no pb.
Ce que je veux savoir c si les infos que le membre inscrit ds le promt peuvent être communiqué (pseudo + pass) à l'index du sous répertoire.
Si c possible, la session commence que si l'utilisateur est reconnu.
session_start(recup_de_mon_prompt).
Voilà.

Reply

Marsh Posté le 02-05-2003 à 16:01:50    

EROQAM a écrit :

Bin oui c clair et non g pas de pb.
bon j'explique un peu plus.
Je voudrais faire un acces securisé vers un fichier index.php dans un sous dossier de mon site gérant les infos sur ce dernier.
Donc sur mon site, le membre va sur ce fameux index via un lien hypertext, et ce retrouve donc en présence d'un prompt lui demandant de s'identifier (les identifiants étant stocké dans un fichier .htpasswd dans le sous rep). jusque là no pb.
Ce que je veux savoir c si les infos que le membre inscrit ds le promt peuvent être communiqué (pseudo + pass) à l'index du sous répertoire.
Si c possible, la session commence que si l'utilisateur est reconnu.
session_start(recup_de_mon_prompt).
Voilà.
 


 
yaisse


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-05-2003 à 16:13:14    

oui mais comment, avec quel fonction ????

Reply

Marsh Posté le 02-05-2003 à 16:25:32    

EROQAM a écrit :

oui mais comment, avec quel fonction ????


 

Code :
  1. if(!isset($_SERVER['PHP_AUTH_USER'])) {
  2.     echo "user".$_SERVER['PHP_AUTH_USER']."<br>";
  3.     echo "password".$_SERVER['PHP_AUTH_PW']."<br>";
  4. }


 
essayes ca et ensuite tu stockes les infos dans une session si tu le souhaites  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-05-2003 à 16:37:35    

non on doit pas se comprendre...
Imagine t'as le lien direct comme ça
www.mon_site.com/repertoire/index.php
bien sur le repertoire est proteger par .htaccess.
Donc si t'arrive directement sur le lien le prompt qui s'ouvre est celui déclenché par le .htaccess du style:
AuthUserFile /chemin/du.repertoire/.htpasswd
AuthGroupFile /dev/null
AuthName "Acces restreint"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Donc pas moyen de faire isset et tous ça...
Moi ce que je veux c que si t'arrive direct sur le lien, le prompt s'ouvre, tu t'identifie, et les valeurs que t'as rentré dans le prompt soient envoyés dans repertoire/index.php

Reply

Marsh Posté le 02-05-2003 à 16:41:17    

Ce script marche nickel chez moi, mais pas moyen de le faire fonctionner chez ovh. (verif a partir de ma db)
<?php
$auth = false;  
if (isset($PHP_AUTH_USER) && isset($PHP_AUTH_PW)) {  
include "fichier_de_connexion_db.php";
$sql = "SELECT * FROM xxxxxx WHERE  membre = '$PHP_AUTH_USER' AND mot_de_passe = '$PHP_AUTH_PW'";  
$result = mysql_query( $sql )  or die ( 'Mauvais identifiants' );  
$num = mysql_numrows( $result );  
if ( $num != 0 ) {  
$auth = true;  
    }  
}  
if ( ! $auth ) {  
    header( 'WWW-Authenticate: Basic realm="Private"' );  
    header( 'HTTP/1.0 401 Unauthorized' );  
    echo 'Authorization Required.';  
    exit;  
} else {  
la suite du sript ....
}
@mysql_close($db);
?>


Message édité par eroqam le 02-05-2003 à 16:42:14
Reply

Marsh Posté le 02-05-2003 à 17:19:37    

Voilà exactement ce que je veux:
http://support.free.fr/web/
et clic sur: Accéder et gérer votre base de données MySQL.
Donc là, ils récupèrent bien des infos du prompt pour pouvoir ensuite afficher tes propres infos.
C tout ce que je veux. :whistle:

Reply

Marsh Posté le 02-05-2003 à 17:24:46    

EROQAM a écrit :

Voilà exactement ce que je veux:
http://support.free.fr/web/
et clic sur: Accéder et gérer votre base de données MySQL.
Donc là, ils récupèrent bien des infos du prompt pour pouvoir ensuite afficher tes propres infos.
C tout ce que je veux. :whistle:  


 
justement .... si ton autorisation réussi tu fais une redirection en passant les paramètres pour t'en assurer :sarcastic:  
 
on a du mal a communiquer toi et moi [:tinostar], non ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-05-2003 à 17:24:46   

Reply

Marsh Posté le 02-05-2003 à 18:49:33    

C vrai  :lol:  
mais comment fais-tu rien que pour faire un echo des valeurs rentrées dans le prompt?
quel serait le script?
<? echo ??????????, ?>

Reply

Marsh Posté le 02-05-2003 à 20:17:57    

EROQAM a écrit :

C vrai  :lol:  
mais comment fais-tu rien que pour faire un echo des valeurs rentrées dans le prompt?
quel serait le script?
<? echo ??????????, ?>


 
et mais t'serais pas un peu con toi? [:boidleau]  
( ... bon ca va je déconne  :lol:  )
 
'tain mais le script c'est ça :
 

Code :
  1. <?php
  2. if(!isset($_SERVER['PHP_AUTH_USER'])) {
  3.    echo "user".$_SERVER['PHP_AUTH_USER']."<br>";
  4.    echo "password".$_SERVER['PHP_AUTH_PW']."<br>";
  5. }
  6. ?>

 
 
 
bordel à queue ..... tu le mets sur ta page index.php sur laquelle tu arrives lorsque l'autentification est réalisé avec succès ..... [:tinostar]


Message édité par simogeo le 02-05-2003 à 20:18:46

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 03-05-2003 à 11:11:42    

OK mais ça je SAIS !!!!
Bon, calme  :sol:  
Je t'embête avec tous ça, parceque tout tes conseils jusqu'à présent je les connais (j'veux bien passé pour un débutant, mais quand même, faut pas pousser....).
En fait le pb vient de OVH je crois, car un simple petit script avec simplement un "echo" de 'PHP_AUTH_USER' et 'PHP_AUTH_PW', et bin.....ça marche pas ???
Et ça c le script qui "devrait" marcher (voir ci-dessous) sans aucun pb sauf chez OVH. Ce c**, non seulement m'affiche 3 fois la même fenêtre, mais en plus il est incapable de me faire un echo de ces pu***** de variables de me***,
Désespoir quand tu nous tiens... :cry:  
Si qq pouvait m'expliquer pourquoi ça marche sur mon pc en local, et que ça marche pas chez OVH.
 
Ca c le script.  :pfff:  
<?php    
if ((!isset( $PHP_AUTH_USER )) || (!isset($PHP_AUTH_PW))) {  
    header( 'WWW-Authenticate: Basic realm="Private"' );  
    header( 'HTTP/1.0 401 Unauthorized' );  
    echo 'Authorization Required.';  
    exit;  
} else {  
    echo "You entered $PHP_AUTH_USER for a username.<BR>";  
    echo "You entered $PHP_AUTH_PW for a password.<BR>";  
}  
?>  

Reply

Marsh Posté le 03-05-2003 à 11:31:32    

Bin en fait, ça marchera jamais...
Extrait d'un forum sur "oxyd.fr"  :fou:  
 
 
"Suite à une étude de votre problème, votre script devait probablement faire référence aux variables: $PHP_AUTH_USER et $PHP_AUTH_PW qui permettent de récupérer le nom d"utilisateur et le mot de passe (ce qui peut se faire de bien d'autre manière).
En effet ces variable ne sont plus disponibles chez nous car php a été recompilé en module CGI (nous alignant ainsi sur l'ensemble des concurents: OVH, FREE, AMEN qui emploient tous cette méthode).
..."

Reply

Marsh Posté le 03-05-2003 à 12:09:35    

EROQAM a écrit :

Bin en fait, ça marchera jamais...
Extrait d'un forum sur "oxyd.fr"  :fou:  
 
 
"Suite à une étude de votre problème, votre script devait probablement faire référence aux variables: $PHP_AUTH_USER et $PHP_AUTH_PW qui permettent de récupérer le nom d"utilisateur et le mot de passe (ce qui peut se faire de bien d'autre manière).
En effet ces variable ne sont plus disponibles chez nous car php a été recompilé en module CGI (nous alignant ainsi sur l'ensemble des concurents: OVH, FREE, AMEN qui emploient tous cette méthode).
..."
 


 
a oui, ca ne fonctionne que lorsque PHP est installé comme module Apache ... :jap:  
ça j'aurai pu y penser  :whistle:  .....
Il va falloir que tu trouves une alternative à ton problème :/, bon courage EROQAM,
 
 
 :hello:  


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 03-05-2003 à 12:38:25    

bin g trouvé !!!
c un peu plus classique mais bon.
si tu veux voir : http://www.eresinformatique.com/moncompte.php
 
Et encore merci pour ton aide  :hello:  et pardon pour les confusions :ange:  
 
@+
Eroqam

Reply

Marsh Posté le 03-05-2003 à 12:54:16    

EROQAM a écrit :

bin g trouvé !!!
c un peu plus classique mais bon.
si tu veux voir : http://www.eresinformatique.com/moncompte.php
 
Et encore merci pour ton aide  :hello:  et pardon pour les confusions :ange:  
 
@+
Eroqam


 
c'est efficace  ;)
 
 :hello:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed