Sécuriser les formulaires

La création de formulaires est bien trop souvent pris à la légère. Les formulaires, servent le plus souvent à remplir une base de données ou à y récupérer des informations.

Nous allons voir ici, comment sécuriser au maximum un formulaire

  1. Le Captcha
  2. Neutralisation des caractères spéciaux
  3. Contrôle formulaire
    • Considérer une manipulation malveillante du formulaire si celui-ci met trop de temps à être rempli
    • Considérer nue manipulation du formulaire par un robot si celui-ci est rempli trop rapidement
  4. Sécurisation contre les attaques XSS
  5. Sécurisation contre les attaques CSRF


  1. Le Captcha

Le captcha permet d'identifier une personne humaine. En effet, les robots ne sont pas encore dotés d'une reconnaisance de caractère assez pointu pour lire des images complexes ou encore répondre à des questions mathématique par exemple.

Pour mettre en place simplement un captcha efficace, nous allons utiliser ReCAPTCHA.

Dans un premier temps, télécharger la librairie recaptcha-php-1.9.zip à l'adresse suivante :

ReCaptcha Lib

Uploadez tout ça sur votre serveur.

Dans le code de votre formulaire placez le code suivant là où vous voulez faire apparaître l'image d'identification :

require_once('recaptchalib.php');
$publickey = "..."; // Placez la cle public ici
echo recaptcha_get_html($publickey);

Ensuite, dans le code de validation du formulaire, placez ce code :

require_once('recaptchalib.php');
$privatekey = "...";
$resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);
 
if (!$resp->is_valid) {
  die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
       "(reCAPTCHA said: " . $resp->error . ")");
}

Maintenant, nous allons générer une clé public et une clé privé pour garantir l'intégrité de la vérification de l'image.

Connectez-vous sur le site de recaptcha à l'adresse suivante :

ReCaptcha Key

et générez les clés pour votre domaine.

Une fois les clés obtenues, inscrivez la clé pulic dans le premier code à l'emplacement indiqué et faite de même pour la clé privée dans le code de validation.

Vous verrez apparaître sur votre site un beau Captcha éfficace :)

C'est tout pour aujourd'hui.
A venir : 2, 3, 4, 5

 
developpement/securiser_les_formulaires.txt · Dernière modification: 2008/08/19 15:43 (édition externe)     Haut de page