Page 1 sur 1

Protger mon formulaire ?

Posté : 07 janv. 2015, 19:57
par blinz
Salu j'ai un formulaire qui marche et j'aimerais le sécurisé , comment procéder svp ?
Voici l'essentiel
 * Vérification du formulaire
*****************************************/
// Si le tableau $_POST existe alors le formulaire a été envoyé
if(!empty($_POST))
{
// Le login est-il rempli ?
if(empty($_POST['login']))
{
$message = 'Veuillez indiquer votre login svp !';
}
// Le mot de passe est-il rempli ?
elseif(empty($_POST['motDePasse']))
{
$message = 'Veuillez indiquer votre mot de passe svp !';
}
// Le login est-il correct ?
elseif($_POST['login'] !== LOGIN)
{
$message = 'Votre login est faux !';
}
// Le mot de passe est-il correct ?
elseif($_POST['motDePasse'] !== PASSWORD)
{
$message = 'Votre mot de passe est faux !';
}
else
{
// L'identification a réussi
$message = 'Bienvenue '. LOGIN .' !';
}
}

Re: Protger mon formulaire ?

Posté : 07 janv. 2015, 20:02
par tof73
je vois pas de faille dans ce code.

Re: Protger mon formulaire ?

Posté : 07 janv. 2015, 20:38
par blinz
j'ai entendu parler des htmlspecialchars ...

Re: Protger mon formulaire ?

Posté : 07 janv. 2015, 20:53
par AB
On utilise htmlspecialchars pour protéger les variables à l'affichage dans le code html, typiquement derrière un echo
<div><?php echo htmlspecialchars($message);?></div>
A noter que dans les "dernières" versions de php on peut simplifier l'écriture en faisant
<div><?= htmlspecialchars($message);?></div>

Re: Protger mon formulaire ?

Posté : 07 janv. 2015, 21:41
par blinz
Enfait pour être plus clair la chose se présente ainsi dans mon formulaire
<label>email :</label>
     <input class="form-control" type="text" name="email" value="<?php echo  !empty($donnees['email']) ? $donnees['email'] : NULL;?>" />
Et de ce fait ne vois pas trop ou placer ce fameux htmlspecialchars ....

Merci à vous

Re: Protger mon formulaire ?

Posté : 07 janv. 2015, 23:52
par AB
<label>email :</label>
     <input class="form-control" type="text" name="email" value="<?php echo  !empty($donnees['email']) ? htmlspecialchars($donnees['email']) : NULL;?>" />
et donc comme déjà dit on peut écourter un peu en faisant
<label>email :</label>
     <input class="form-control" type="text" name="email" value="<?= !empty($donnees['email']) ? htmlspecialchars($donnees['email']) : NULL;?>" />