Bonsoir,

je souhaite restreindre une partie de mon site avec un mot de passe unique en utilisant un simple login en php (je ne compte pas faire un niveau de sécurité "CIA"; si il est hacké ce n'est pas bien grave^^).

J'ai beau chercher de partout, à chaque fois que j'utilise un script, que le mot de pase soit bon ou erroné il m'autorise l'accès à la page en question.

Voici ce que j'ai mis dans la page où l'on doit s'identifier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<body>
 
identification
 
<form action="testmdp.php" methode="post" > 
<input type="text" name="motdepasse" /> 
<input type="submit" value="envoyer" /> 
</form> 
 
</body>
Et voici ma page testmdp.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<body>
 
<? if ( $_POST['motdepasse']!= 'toto' ) 
{ 
header ("Location: testmdp.php"); 
echo 'ok'; 
exit(); 
}else {echo "Mauvais mot de passe";} 
} 
echo 'Veuillez saisir votre mot de passe: <br>'; 
echo '<form name="motdepasse" method="post" action="' . htmlspecialchars($_SERVER['REQUEST_URI']) . '">'; 
echo '<input type=password name="motpasse" size="10" value="" />'; 
echo '<input type="submit" name="action onClick=(this.form)" value="OK">'; 
echo '</form>'; 
?> 
 
Salut et bienvenu !
 
</body>
Vous allez me dire j'ai surement fais une grosse bourde mais il y a au moins 6 mois que je n'ai pas fait de php (et j'étais loin d'être un dieu avant ).

Please help me !

Edit : si vous avez en tete un code plus simple qui marche, je suis preneur.

Edit 2 : j'ai testé un nouveau script qui me paraissait propre, mais ca ne marche toujours pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if ( ($PHP_AUTH_USER=="eric") and ($PHP_AUTH_PW=="toto") )
     {$auth=true;} 
else
     {$auth=false;}    
if (!$auth) {
      header( 'WWW-Authenticate: Basic realm="Compte gestionnaire"' );
      header( 'HTTP/1.0 401 Unauthorized' ); 
      print "<html><head><title> ACCES NON AUTORISE</title></head><body>";   
      print "<center>Authentification nécessaire</center></html>";  
      exit;
}
else {
 
header ("Location: private.php");
 
}
 
?>
Pour info : je fais mes tests sur wampserver 2.0