protection des fichiers par mot de passe

Eléphant du PHP | 113 Messages

13 févr. 2006, 20:25

salut tout le monde....
voila dans un repértoir de mon site j'ai protéger toutes ces pages avec ce script:


<?php
// Necessary Variables:

$LOGIN = "monlogin";
$PASSWORD = "monmpotdepasse";
//	En: login /password
//	Fr: login / mots de passe

// End  Necessary Variables section
/******************************************************************************/

function error ($error_message) {
	echo $error_message."<BR>";
	exit;
}

if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD" )) ) {
	header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
	header("HTTP/1.0 401 Unauthorized");
	error("Accès interdit espace réservé au webmaster !...");
}
?> 

quand je veu t accéder a une des pages de ce repértoir ..biensure en me demande de me logger et j'entre les bon user et passe mais il les rejete .....pourquoi? merci
Modifié en dernier par knops le 13 févr. 2006, 20:51, modifié 1 fois.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

13 févr. 2006, 20:46

Modération :
Avec 53 messages à ton actif, tu devrais savoir
que tout sujet doit porter un titre explicite.
Merci de corriger...

Eléphant du PHP | 113 Messages

13 févr. 2006, 21:51

re, doit-je modifier le Chmod demon répértoire qui contient les fichiers avec ce script ou un truc comme sa?

Eléphant du PHP | 113 Messages

13 févr. 2006, 22:37

alors les mecs c urgent ya vraiment pas de réponse...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 févr. 2006, 23:00

ce qui est urgent pour l'un ne l'est absolument pas pour l'autre, hein :axe:

vérifis surtout d'où viennent les variables tu test => $PHP_AUTH_USER

affiche les avant les header (donc redirection sinon tu ne veras de toute façon rien), tu peux mettre en commentaire aussi le header pour éviter d'avoir des messages d'erreurs.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 113 Messages

13 févr. 2006, 23:12

ce que je comprend pas c'est que sa marche sur mon pc avec easy php mais dés que j"ai mis les pages online il me refuse le user eet le passe
et j'ai riencompris de ce que tu vien de poster....PArdon :roll:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 févr. 2006, 23:15

afficher les varaibles avec un echo:
echo "user = ".$PHP_AUTH_USER;
mais puisque tu dis que ça fonctionne en local et pas en ligne c'est certainement du au register global.

tu passes par un formulaire pour saisir le login et passe ?
il faut donc récupérer les variables POST (ou GET suivant la méthode du formulaire).

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 113 Messages

13 févr. 2006, 23:26

vous pouvrez me corrigez sa
($_GET PHP_AUTH_USER))

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 févr. 2006, 23:39

$_GET['nom_du_champ_texte_du_formulaire']

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 113 Messages

13 févr. 2006, 23:52

SVp vous pouvvez me corrigez sa....



if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == "$PASSWORD" )) ) {

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 févr. 2006, 01:12

que veux tu que je corrige la dessus ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 2144 Messages

15 févr. 2006, 02:08

Tu n'as pas un petit peu l'impression que tu abuses ?
Il n'y a personne ici qui soit prête à accourir en cas d'urgence;
Pour ce genre de cas, il y a des prestataires payant.

Pour ton problême, comme Truc te l'as dit, il est très problable que ça viennent du register_global à off sur le serveur de production.
Il y a un post dans la FAQ qui t'expliquera le comment du pourquoi et comment rêgler ton problême.
Bonne nuit