Page protégée par mot de passe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Page protégée par mot de passe

Re: Page protégée par mot de passe

par Ryle » 12 mai 2016, 16:41

Bonjour,

Tout dépend de l'organisation que tu souhaites mettre en place.

Si tu veux que ta page "accesformation.php" propose le formulaire, fasse le contrôle de validité et redirige vers ta page formation, il te faut changer l'attribut "action" de ton formulaire pour que les données soient renvoyées à la page "accesformation.php", et comme suggéré par Spols, faire une redirection vers la page formation.php en cas de succès (et en cas d'erreur tu reste sur la page de login)
A noter que dans ce cas il est recommandé d'avoir également un contrôle sur la page formation.php pour éviter qu'on puisse y accéder sans être passé par l'authentification au préalable (contrôle d'une variable en session, cookie ou autre :))

Si ton code de contrôle est sur la page formation.php, pas de modification à faire sur ton formulaire, en revanche, dans ta page formation.php il faut contrôler les identifiants et mot de passe spécifier et afficher un message d'erreur ou renvoyer l'utilisateur vers la page "accesformation.php" en cas d'erreur.

Re: Page protégée par mot de passe

par Spols » 10 mai 2016, 08:33

Tu devrais utiliser une redirection php si le mot de passe est incorrect

header("location:mapage.php");

Re: Page protégée par mot de passe

par kaspero » 10 mai 2016, 07:10

Merci de ton soutien

Alors quel code dois je mettre pour accéder à la page formation.php seulement si le mot de passe est bon ?

Re: Page protégée par mot de passe

par @rthur » 09 mai 2016, 17:53

C'est normal que tu soit sur la page formation.php vu que c'est sur celle-ci que tu fais la vérification pour savoir si le mot de passe est correct ou incorrect.

En revanche, en fonction du résultat de ta vérification tu dois afficher un message d'erreur (si le mdp est incorrect) ou le contenu de ta page formation (si le mdp est correct)

Re: Page protégée par mot de passe

par kaspero » 09 mai 2016, 17:13

Avec le bon mot de passe : Mot de passe correct
Avec un mauvais mot de passe : Mot de passe incorrect

Dans les 2 cas, j'accède à ma page formation.php

Re: Page protégée par mot de passe

par @rthur » 09 mai 2016, 16:42

Si tu remplaces le code de ta page formation.php par celui que je t'ai donné :
- quel message est affiché quand tu rentres le bon mot de passe ?
- quel message est affiché quand tu rentres un mauvais mot de passe ?

Re: Page protégée par mot de passe

par kaspero » 09 mai 2016, 16:39

Merci pour ta réponse mais ça ne change rien, même sans rien mettre sur ma page, avec un mot de passe bidon, on arrive quand même sur la page formation.php

Re: Page protégée par mot de passe

par @rthur » 09 mai 2016, 14:14

Bonjour,

Pour débuguer efficacement, je te conseille de vider complètement ta page formation.php pour en conserver qu'un if else le + basique possible :
<?php
if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "alien83") {
	die('Mot de passe correct');
} else {
	die('Mot de passe incorrect !');
}

Page protégée par mot de passe

par kaspero » 09 mai 2016, 13:09

Bonjour à tous,

J'ai un soucis avec ma page que je veux protéger par mot de passe. Quand je teste ma page sécurisée, celle ci s'affiche même si le mot de passe est erroné.

Voici le code sur ma page (accesformation.php) où se trouve la demande de mot de passe pour accéder à ma page formation.php :

<form action="formation.php" method="post">
<p>
<input type="password" name="mot_de_passe" />
<input type="submit" value="Valider" />
</p>
</form>

Voici le code sur ma page formation.php :

<?php
if (isset($_POST['mot_de_passe']) AND $_POST['mot_de_passe'] == "alien83")
{
?>
<?php
}
else
{
echo '<p>Mot de passe incorrect</p>';
}
?>


Il doit forcément y avoir un oubli !
Ça 2 jours que je cherche, en vain. :(

Merci pour vos réponses :)