$PHP_AUTH_USER ; ouverture de dialog ; aide SVP [Résolu]

Signaler
Messages postés
55
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
2 avril 2012
-
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
-
J'ai passé une journée à essayé de faire marché un code, je l'ai tortillé dans tout les sens mais là je ne comprend plus rien, j'ai tout essayé! A l'aide SVP.
Voici le code (téléchargé sur ce site):

<?
$fp
= fopen ( "logger.log" , "a+");
fputs ($fp, "$REMOTE_ADDR $HTTP_USER_AGENT $REMOTE_PORT /n");
fclose($fp);
if(!isset
($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm =" Clan RMV"");
Header("HTTP/1.0 401 Unauthorized");
echo "ERREUR 401 Identification necessaire!";

exit;
} else {

if ($PHP_AUTH_USER!"toto" OR $PHP_AUTH_PW ! "123") {
echo "ERREUR 401 Mauvais login ou mauvais mot de passe!";

exit;
}
}
?>
<script language= 'JavaScript'>

var url = "Accueil.php";

window.location.replace(url);
</script>

Okey, il est bon (enfin...), la fenêtre s'ouvre avec les 2 champs à remplirent, et quand je met "toto" et "123", il ne marche pas, Accueil.php ne s'ouvre pas? Il n'y a même pas "ERREUR 401 Identification necessaire!" qui s'affiche, seulement toujours
"ERREUR 401 Mauvais login ou mauvais mot de passe!", je comprend plus rien! Quelqu'un a une solution?
A voir également:

4 réponses

Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

Si vous développez en local vous avez obligatoirement un fichier php.ini. Sous Windows et EasyPHP il est là par défaut : C:\PROGRA~1\EASYPH~1\apache ... Autrement faites un phpinfo(); pour avoir la configuration du server et vérifiez votre register_globals

<?php
phpinfo();
?>


NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón


Fra en skal en med ologum isaprenbokkarinnar ...

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...

<FON< body>
Messages postés
55
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
2 avril 2012

Petite rectification pour la fin
Citation:
Okey, il est bon (enfin...), la fenêtre s'ouvre avec les 2 champs à remplirent, et quand je met "toto" et "123", il ne marche pas, Accueil.php ne s'ouvre pas? Il n'y a même pas "ERREUR 401 Mauvais login ou mauvais mot de passe!" qui s'affiche, seulement toujours "ERREUR 401 Identification necessaire!", je comprend plus rien! Quelqu'un a une solution

PS: Des fois g ce problème aussi!
Parse error: parse error in /data/members/free/multimania/fr/c/l/a/clanrmv/htdocs/index.php on line 5

http://www.tomack.fr.st/
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Statut
Membre
Dernière intervention
29 novembre 2006
1
Sael og blesud

Bon alors jetons un oeil à votre code :

1 : on utilise <?php et non pas <?
2 : on préfère les ' aux "
3 : il semblerait que votre register_globals = On et non pas à Off dans votre fichier php.ini car vous utilisez $REMOTE_ADDR au lieu de $_SERVER['REMOTE_ADDR'] donc vérifiez la valeur de votre register_globals.
4 : il me semble que vous souhaitez faire un retour à la ligne lors de votre inscription de logs via votre /n hors si tel est le cas il faut user de \r\n entre "
5 : par ailleurs votre page telle qu'elle est, si l'utilisateur se plante de mot de passe trois fois il ne pourra pas se relogguer en rafraichissant la page puisque $_SERVER['PHP_AUTH_USER'] est renseigné même s'il n'est pas égal à 'toto'...

Je vous propose un petit code à vous de l'adapter à vos besoins :

<?php
$fp = fopen('logger.log', 'a+');
fputs ($fp, $_SERVER['REMOTE_ADDR'] .' '. $_SERVER['HTTP_USER_AGENT'] .' '. $_SERVER['REMOTE_PORT'] ."\r\n");
fclose($fp);


function auth(){
header('WWW-Authenticate: Basic realm= "Clan RMV"');
header('HTTP/1.0 401 Unauthorized');
echo ' ERREUR 401 Identification necessaire!';
exit;
}


if(!isset($_SERVER['PHP_AUTH_USER'])){
auth();
}else{
if ($_SERVER['PHP_AUTH_USER']! ='toto' OR $_SERVER['PHP_AUTH_PW']!='123') {
auth();
}else{
header('Location:accueil.php');
}
}
?>

PS : Ici le register_globals = Off


NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón


Fra en skal en med ologum isaprenbokkarinnar ...

HARDWARE : Partie de l'ordinateur qui reçoit les coups quand se plante le software ...
Messages postés
55
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
2 avril 2012

Cette réponse me convient, et le script que vous avez posté est mieux et plus complet, il me convient, mais cela ne marche toujours pas, et je c'est que ça vient de ce que vous me dite, le register_globals = Off
//ou//
il semblerait que votre register_globals = On et non pas à Off dans votre fichier php.ini
(Je n'ais pas de php.ini?, et dans le code il n'y a pas de register_globals?)
PS: je débute en php alors est-ce que je pourrais avoir plus de détails, et encore merci pour votre réponse rapide!