Identification + php + HEADER

Fermé
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 - 11 mai 2005 à 09:21
TLa Messages postés 57 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 février 2009 - 30 juil. 2007 à 12:41
Salut tout le monde, voila j'ai récup ce script :

<?php
 header("WWW-Authenticate: Basic realm='private'");
 
 if (($PHP_AUTH_USER=="*********") && ($PHP_AUTH_PW=="****")) {
      echo "<HTML><BODY>";
      echo "Vous etes maintenant identifié.\n";
      echo "</BODY></HTML>";
    } else {
      header("WWW-Authenticate: Basic realm='private'");
    }
?>


Qui permet donc de s'identifier de façon assez simple! Lorsque j'éxécute ça, il me demande de taper 3 fois mon login et mot de passe!

J'aimerais savoir pourquoi ?
A voir également:

12 réponses

m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
11 mai 2005 à 09:26
il fait quoi ton header..
0
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
11 mai 2005 à 09:28
Bin il m'affiche une fenetre ou je dois rentrer login et mot de passe!!

Tu n'a pas tester?
0
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
11 mai 2005 à 09:37
t'as deja essayer d'afficher la valeur de $PHP_AUTH_USER et $PHP_AUTH_PW pour voir s'ils sont bien enregistrés...?
0
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
11 mai 2005 à 09:48
<?php
    if (!isset($PHP_AUTH_USER) || !isset($PHP_AUTH_PW)) {
       header("WWW-Authenticate: Basic realm='private'");
  echo $PHP_AUTH_USER;
 echo $PHP_AUTH_PW;}
 ?>


voila j'ai tester ça, tu es d'accord que mon code est correct?
voila ce ke ça me retourne :

Notice: Undefined variable: PHP_AUTH_USER  on line 4

Notice: Undefined variable: PHP_AUTH_PW on line 5


Je te donne le lien du site ou j'ai trouvé ça en pensant que tu pourra trouver mon erreur.

http://www.grappa.univ-lille3.fr/polys/reseaux-DG/reseaux020.html#toc84

Merci d'avance...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neveux cédric Messages postés 18 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 21 juillet 2005 7
11 mai 2005 à 14:54
Pour taper ton login et mot de passe, tu dois avoir un formulaire je suppose?
Ce formulaire renvoit des données vers ta page où tu testes PHP_AUTH_USER et PHP_AUTH_PW.Mais pour utiliser les données dans cette page il faut dire à PHP comment les récupérer parmis les données envoyées par ton formulaire.
En général on utilise si tu as mis la méthode POST dans la définition de ton formulaire $_POST["variablelogin"] et $_POST["variablepassword"]
exemple:
pagedeconnexion.php
<form method="post" action="pageauthentification.php">
Votre login:<input type="text" id="USER"/>
Votre mot de passe:<input type="password" id="PW"/>
</form>


pageauthentification.php
<?php
 header("WWW-Authenticate: Basic realm='private'");
 /*on récupère les données ddu formulaire et on les stcoke dans les variables PHP_AUTH_USER et PHP_AUTH_PW*/
$PHP_AUTH_USER= $_POST["USER"];
$PHP_AUTH_PW= $_POST["PW"];


/*Là c'est ton code qui teste la valeur des variables auquel je n'ai pas touché*/
 if (($PHP_AUTH_USER=="*********") && ($PHP_AUTH_PW=="****")) {
      echo "<HTML><BODY>";
      echo "Vous etes maintenant identifié.\n";
      echo "</BODY></HTML>";
    } else {
      header("WWW-Authenticate: Basic realm='private'");
    }
?>


0
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
11 mai 2005 à 15:36
Pfffff ça me prend la tete j'y arrive pas !! J'ai fait tout ce ke tu ma dis mais ça ne fonctionne pas...

Je veu juste faire un script tout simple pour une identification toute conne mais j'y arrive pas!

QQn pourrait-il m'aidé s'il vous plait!! Je vous en supplie!!
0
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
11 mai 2005 à 15:46
t'as une base de données derriere??
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
11 mai 2005 à 15:51
rien à voir.. maiçs alors lA !! RIIIEENNN A VOOIIRRRRRRRR !

Il peut le faire sans bdd son truc.

0
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
11 mai 2005 à 15:59
oui bon ben ça va , hein??? ct juste pour savoir...

nan mais l'autre quoi !!! comment qu'y m'côse !!
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
11 mai 2005 à 16:00
lol
0
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
11 mai 2005 à 16:00
LOL
0
sur free ils disent de faire comme ca :

if ( !isset($_SERVER['PHP_AUTH_USER']) 
	|| !isset($_SERVER['PHP_AUTH_PW']) 
	|| ($_SERVER['PHP_AUTH_USER'] !== "nom_d_utilisateur" )
	|| ($_SERVER['PHP_AUTH_PW'] !== "mot_de_passe") ) 
{
   header('WWW-Authenticate: Basic realm="Authentifiez vous"');
   header('HTTP/1.0 401 Unauthorized');
   echo 'Acces non autorisé';
   exit;
}

echo 'Utilisateur authentifié';


voir : http://faq.free.fr/?q=1055
0
TLa Messages postés 57 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 février 2009 12
30 juil. 2007 à 12:41
test
0
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
12 mai 2005 à 09:29
YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

MERCI BCP !!!!!

Tu es d'ou? Que je vienne te félicité!!!! Franchement MERCI ENORMEMENT !!!!


Comment pourrai-je te remercier??
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
12 mai 2005 à 09:44
tu nous paie un café à tous... même si on a pas su répondre précisément

:)
0
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
12 mai 2005 à 09:46
pas pour moi merci,je vé en prendre un tout a l'heure.. a l'observatoire.. !

cela dit... Bonjour kij !!!
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
12 mai 2005 à 09:58
ben t'y est pas en ce moment la ??!

Non mais branleur !!

cela dit Bonjours Mono !

:DD
0
psaikopat Messages postés 339 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 24 février 2008 14
12 mai 2005 à 10:52
lol hé oui salut les gens!!!

Alors vous venez d'ou? Vous faites koi dans la vie? Vous avez kel age??
0
TLa Messages postés 57 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 février 2009 12
12 mai 2005 à 14:24
comme ça manque d'explication, j'en ai mis ici :
http://thierry.larmoire.free.fr/dev/test/pwd.html

l'exemple, avec comme login user:password, est là :
http://thierry.larmoire.free.fr/dev/test/pwd.php

sinon
- je suis du 91
- j'ai 29 ans
- je suis ingé en info. indus.
0
Neveux cédric Messages postés 18 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 21 juillet 2005 7
13 mai 2005 à 00:35
Concernant mon message j'ai oublié quelques détails. Dans le code du formulaire jJ'avais mis id="USER et id="PW"" alors que poru que ça passe, il faut mettre name="USER" et name="PW", et il faut mettre un bouton pour envoyer le script:

pagedeconnexion.php:
<html>
<head>
<title>Ma page de connexion</title>
</head>
<body>
<form method="post" action="pageauthentification.php">
Votre login:<input type="text" name="USER"/>
<br>Votre mot de passe:<input type="password" name="PW"/>
<br><input type="submit" Value="Se connecter">
</body>
</form>
</html>


Dans la page d'authentification, j'ai enlevé les :"header("WWW-Authenticate: Basic realm='private'"); " car la méthode d'authentification que j'utilise fonctionne avec un formulaire directement sur la page html et non pas une nouvelle fenêtre qui s'ouvre par dessus:

pageauthentification.php:
<?php
/*on récupère les données ddu formulaire et on les stcoke dans les variables PHP_AUTH_USER et PHP_AUTH_PW*/
$PHP_AUTH_USER= $_POST["USER"];
$PHP_AUTH_PW= $_POST["PW"];


/*Là c'est ton code qui teste la valeur des variables auquel je n'ai pas touché*/
 if (($PHP_AUTH_USER=="abcde") && ($PHP_AUTH_PW=="abc")) {
      echo "<HTML><BODY>";
      echo "Vous etes maintenant identifié.\n";
      echo "</BODY></HTML>";
    } else {
	echo "Login et/ou mot de passe inconnu.";     
    }
?>


C'est une méthode différente mais ça marche avec le code que je t'ai mis.Il faut bien mettre les 2 codes dans deux fichiers séparés et le code PHP doit bien avoir le même nom que celui qui est marqué dans le paramètre "action=" du formulaire.
Cette méthode d'authentification est celle utilisé sur la plupart des sites mais la méthode que tu as utilisé fonctionne donc c bien aussi, c'est juste la façon d'afficher qui diffère.
0