Rechercher : dans
Par :

Identification + php + HEADER

Dernière réponse le 30 jui 2007 à 12:41:55 psaikopat, le 11 mai 2005 à 09:21:41 
 Signaler ce message aux modérateurs

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 ?

Meilleures réponses pour « identification + php + HEADER » dans :
[PHP] Headers already sent by..... Voir Lorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Les cookies et les en-têtes HTTP VoirLes en-têtes HTTP Lors de chaque échange par le protocole HTTP entre votre navigateur et le serveur, des données dîtes d'en-têtes contenant des informations sur les données à envoyer (dans le cas d'une requête) ou envoyées (dans le cas d'une...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

2

m0n0-le-14r3, le 11 mai 2005 à 09:26:31

Il fait quoi ton header.. -- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->

Répondre à m0n0-le-14r3

3

psaikopat, le 11 mai 2005 à 09:28:48

Bin il m'affiche une fenetre ou je dois rentrer login et mot de passe!!

Tu n'a pas tester?

Répondre à psaikopat

4

m0n0-le-14r3, le 11 mai 2005 à 09:37:06

T'as deja essayer d'afficher la valeur de $PHP_AUTH_USER et $PHP_AUTH_PW pour voir s'ils sont bien enregistrés...?
-- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->

Répondre à m0n0-le-14r3

5

psaikopat, le 11 mai 2005 à 09:48:37

<?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...

Répondre à psaikopat

6

Neveux cédric, le 11 mai 2005 à 14:54:17

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'");
    }
?>


if(Chui fatigué) prog marche pas(chépaspourkoi);
elseif(chui enforme) prog fonctionne(chépaspourkoinonplus);

Répondre à Neveux cédric

7

psaikopat, le 11 mai 2005 à 15:36:01

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!!

Répondre à psaikopat

8

m0n0-le-14r3, le 11 mai 2005 à 15:46:17

T'as une base de données derriere?? -- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->

Répondre à m0n0-le-14r3

9

kij_82, le 11 mai 2005 à 15:51:37

Rien à voir.. maiçs alors lA !! RIIIEENNN A VOOIIRRRRRRRR !

Il peut le faire sans bdd son truc.

~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

10

m0n0-le-14r3, le 11 mai 2005 à 15:59:39

Oui bon ben ça va , hein??? ct juste pour savoir...

nan mais l'autre quoi !!! comment qu'y m'côse !! -- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->

Répondre à m0n0-le-14r3

11

kij_82, le 11 mai 2005 à 16:00:08

Lol ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

12

m0n0-le-14r3, le 11 mai 2005 à 16:00:43

LOL -- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->

Répondre à m0n0-le-14r3

13

TLa, le 11 mai 2005 à 21:03:50

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

Répondre à TLa

23

 TLa, le 30 jui 2007 à 12:41:55
  • +1

Test

Répondre à TLa

14

psaikopat, le 12 mai 2005 à 09:29:17

YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS­SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS­

MERCI BCP !!!!!

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


Comment pourrai-je te remercier??

Répondre à psaikopat

kij_82, le 12 mai 2005 à 09:44:07

Tu nous paie un café à tous... même si on a pas su répondre précisément

:)
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

15

m0n0-le-14r3, le 12 mai 2005 à 09:46:02

Pas pour moi merci,je vé en prendre un tout a l'heure.. a l'observatoire.. !

cela dit... Bonjour kij !!! -- je vis dans un rêve dont je ne me reveille jamais...--
<---- j adore ma voisine ;) ---->

Répondre à m0n0-le-14r3

16

kij_82, le 12 mai 2005 à 09:58:41

Ben t'y est pas en ce moment la ??!

Non mais branleur !!

cela dit Bonjours Mono !

:DD ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

17

psaikopat, le 12 mai 2005 à 10:52:59

Lol hé oui salut les gens!!!

Alors vous venez d'ou? Vous faites koi dans la vie? Vous avez kel age??

Répondre à psaikopat

18

TLa, le 12 mai 2005 à 14:24:31

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.

Répondre à TLa

19

psaikopat, le 12 mai 2005 à 16:21:24

Ok ok merci bien moi 21 ans me lance dans la prog Web !!!

Je fais une formation (attache ta ceinture...)
"Formation de Technicien Supérieur 'Concepteur/Developpeur Multimédia'"

Mais en tout cas merci bcp c'est un script d'identification simple et qui marche c'est ce que je voulais merci!!!

Et vu ke pas de clic droit ( j'appelle ça un CLOC )pas moyen d'avoir le mot de passe en faisant CLOC + afficher la source...

Répondre à psaikopat

20

psaikopat, le 12 mai 2005 à 16:52:28

J'AI OUBLIER !!!!

COMMENT ON SE DECONNECTE ? Car si un autre utilisateur viens sur le PC, il peu se connecter donc pas bien...

Répondre à psaikopat

21

TLa, le 12 mai 2005 à 17:39:35

C'est une bonne question,
visiblement mon firefox/linux mémorise la réussite de la connexion
ça n'a l'air d'être lié ni au cache ni à l'historique du navigateur
seule le redémarrage de firefox permet la redemande du mot de passe

au passage il est judicieux de rajouter dans l'entête :

header('Cache-Control : no-cache');
header('Connection : close');

pour
1) dire au navigateur de ne pas garder une copie du contenu
2) fermer la connexion à la fin de la reception du contenu

voir http://thierry.larmoire.free.fr/dev/test/pwd.html

Répondre à TLa

22

Neveux cédric, le 13 mai 2005 à 00:35:24

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.
Bonne journée et à bientôt.Cédric NEVEUX.
Tech. info recherche un emploi correctement payé et intéress

Répondre à Neveux cédric
Collection CommentÇaMarche.net