
Le but de ce tutorial va consister à l'élaboration d'un Captcha à l'aide du langage PHP, pour cela, on abordera dans ce tuto, les sessions et 2 ou 3 fonctions de la librairie GD qui permettent de générer des images dynamiquement.
Ce script est la base de cette petite fonctionnalité et permet de créer une valeur à coder qui est ensuite crypté en MD5 dans une session et permet de générer une image avec le code écrit. Enregistrez ce fichier en le nommant "cryptimage.php".
Voici à quoi pourrait ressembler le formulaire à présent qui est dans le fichier "contact.php" :
Nous appelons notre script "cryptimage.php" directement à partir de la balise img, comme celle ci renvoie une image. Maintenant nous allons vérifier, si le formulaire a été validé, la valeur du champ $_POST['verif'] avec la variable de session $_SESSION['code']. Ce qui donne ceci:
Notez que l'initialisation de la session par la fonction session_start(); doit se faire au tout début de votre script. Cette subtilité est une source fréquente d'erreurs.
Si PHP et les sessions ne sont pas votre tasse de thé voici ce qui se passe lors de l'éxécution de ce script:
Notre script peut certainement être amélioré, et notamment du fait que des non-voyants ne pouront pas reconnaître la chaine. Aujourd'hui beaucoup de captcha sont maintenant accompagnés d'un extrait sonore pour eux.
Enfin, il pourra aussi être amélioré afin qu'il soit moins compréhensible pour un robot (ajout de lignes aléatoires, changement de couleurs, fond en dégradé, etc).
Le troisième listing de scripts s'insère dans le fichier contact.php ?
<?php // validation du formulaire ?>
<html>
<head>
</head>
<body>
<form>
</form>
<?php // traitement du formulaire ?>
</body>
</html>
Cordialement.