Salut tout le monde,

Je suis en train de tester un script trouver dans un tuto php pour faire un système de connexion-identification des utilisateurs d'un site. J'ai eu beau cherché je ne vois pas pourquoi ça ne fonctionne pas.

Quand je tape un login et un mot de passe au hazard (donc faux) la réponse est : "Félicitation {login} vous êtes maintenant connecté!"

Ce qui est très gênant pour un script d'authentification s'il laisse rentrer n'importe qui.

Je vous poste tous les morceaux de code que j'utilise (au cas ou une bêtise m'aura échappé). Si une grosse faute vous saute aux yeux prévenez moi que j'essaie de régler le problème.

Le code SQL de création de ma table
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
create table CAROUBLE
(
   ID_CAROUBLE  int(10) not null auto_increment,
   ALLONYME     varchar(32) not null,
   VERROU        varchar(32) not null,
   primary key (ID_CAROUBLE)
)ENGINE=MYISAM;

Le code de la page connexion.html :
Code html : 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
20
21
22
23
24
25
26
27
28
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Connexion</title>
</head>
<body>
<center>
    <form action="verifpass.php" method="post">
        <table>
            <tr>
              <td>Login :&nbsp;</style></td>
              <td><input type="text" Name="pseudo" /></td>
            </tr>
            <tr>
              <td>Password :&nbsp;</td>
              <td><input type="password" Name="pass" /></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td><center><input type="submit" name="verification" value="Envoyer" /></center></td>
            </tr>
        </table>
    </form><br />
<a href="index.html">Retour &agrave; l'accueil</a>
</center>
</body>
</html>

Le code de la page verifpass.php chargé de la vérification du couple login/password :
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
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<?php
$host = "localhost";
$user = "root";
$password = "";
$bdd = "securite";
//--------- Connection à Mysql  ----------//
mysql_connect($host, $user, $password) or die("Impossible de se connecter au serveur !");
mysql_select_db($bdd) or die("Impossible de se connecter &agrave; la base de donn&eacute;es !");
 
//--------- Creation de la signature -----//
include('param.inc.php');
//--------- Insertion des valeurs --------//
$seing = $_POST['pass'];
$sceau = md5(contreseing($seing));
$surnom = $_POST['pseudo'];
$compIdent='SELECT COUNT(*) FROM CAROUBLE WHERE ALLONYME = "'.mysql_real_escape_string($surnom).'" AND VERROU = "'.mysql_real_escape_string($sceau).'"';
mysql_query($compIdent) or die(mysql_error());
?>
<p>F&eacute;licitations <?php echo(htmlentities($surnom)); ?>, vous &ecirc;tes connect&eacute;.</p><br /><br />
<a href="index.html">Retour &agrave; l'accueil</a>
</body>
</html>
Pour finir le code de la page param.inc.php qui fabrique la signature du mot de passe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
    function contreseing($seing) {
    $praefixus = "d^9@0-";
    $subfixus = "#8+S%cZ";
    $seing = $praefixus.$seing.$subfixus;
    return strrev($seing);
    }
?>
Je ne vois vraiment pas d'où peut venir le dysfonctionnement, mais comme c'est mon premier test d'authentification des utilisateurs je ne m'attendais pas vraiment à ce que ça fonctionne du premier coup.

Merci du temps que vous avez pris pour lire ce message.