Authentification PHP

Bonjour,

J'ai créé une page d'authentification et qui authorise 3 essaie sinon on ne peut pas se connecter avant 5 minutes. Je veux aussi que si l'utilisateur réussi à se connecter que les essaie retourne à 0.

Voici mon code

page 1
--------
<?php
$_COOKIE["tentative"]="0";
if(!isset($_COOKIE["tentative"]))
{
$_POST["nomUsager"]!="david" && $_POST["motDePasse"]!="abc123";
setcookie("tentative", 1, time()+300);
}
else
{
setcookie("tentative", $_COOKIE["tentative"] +1, time()+300);
}
?>

<?php

if(isset($_POST["nomUsager"], $_POST["motDePasse"]))
return authentification($_POST["nomUsager"], $_POST["motDePasse"]);
else
echo "Entrez votre nom d'usager et votre mot de passe pour continuer
<form name=identification method=POST action='exercicePratique3b.php'>
Nom d'usager : <input type=text name=nomUsager size=25> <br>
Mot de passe : <input type=password name=motDePasse size=25> <br>
<input type=submit value=logger>
</form>";
?>

page 2
--------
<?php
if($_COOKIE["tentative"]=3)
{
echo "L'authentification est verrouillé pour 5 minutes puisque vous avez eu 3 mauvaises tentatives d'authentification. Vous devez ré-essayer plus tard <br>";
}
else
{
echo authentification();
}

function authentification()
{
$usager=$_POST["nomUsager"];
$mdp=$_POST["motDePasse"];
if ($usager=="david" && $mdp=="abc123")
{
echo "Authentification réussi! Bienvenue David <br>";
setcookie("tentative", "", time()-3600);
}
else
{
echo "Authentification échouée! Veuillez ré-essayer!<br>";
}
}

?>
<a href="http://localhost/exercicePratique3a.php">
Retourner au formulaire d'authentification</a>

merci!

7 réponses

  1. Ha ha..oups!

    j'arrive pas a réinitialiser mon cookie quand je rentre la bonne information. Si je rentre 3 fois une informatino éronée, je devrais être interdit de connection pour 5 minutes et si je rentre la bonne information, disons la 2e fois, mon cookie devrait revenir à 0 tentative...est-ce que c'est clair...?

    Merci
    1. Très clair. Si tu fais une mauvaise entrée du nom et / ou mot de passe, ton compteur s'incrémente-t-il ?
      1. Oui il s'incrémente car je suis présentement vérouillé (depuis maintenant au moins 10 min...il y a quelque chose qui cloche!)
        1. Ce qui me chagrine, c'est que je ne vois à aucun endroit une remise à 0 du compteur au bout des 5 minutes (300 secondes)... Donc tu peux rester bloquer indéfiniment !!!
          1. ben c'est pourquoi je cherche de l'aide, je suis dans un impasse et je tourne en rond depuis des jours.

            est-ce le code suivant fonctionnerait et si oui, a quel endroit je devrais l'insérer.

            setcookie("tentative", "", time()-3600);

            merci encore!