Captcha «maison» sans extension (1/3) |
Et en plus, c'est gratuit ;) |
|
 |
Un ami m'a demandé de l'aide ce matin pour insérer un captcha dans un formulaire pour son site perso.
Et bien sûr, dès l'instant où la création de site web passe par un logiciel comme Dreamweaver ou autre, il faut, pour réaliser ce contrôle, installer une extension, parfois payante.
Alors, voyons comment, sans aucune extension, réaliser ce contrôle, soit en ASP, soit en PHP...
|
Préambule -
La version ASP -
La version PHP
Préambule
| Les bases du problème à résoudre |
De plus en plus de pourriels (spams) arrivent dans les boîtes aux lettres. Souvent, des robots récupèrent des adresses électroniques en "épluchant" les pages des sites, ou utilisent les formulaires pour inonder les boîtes aux lettres des webmestres.
Devant ce phénomène grandissant, les développeurs ont imaginé un contrôle, sous forme d'une image représentant un code, obligeant l'utilisateur à le saisir afin de vérifier qu'il ne s'agit pas d'un robot.
Cette particularité est apparue sur les sites de téléchargement, évitant ainsi le "pompage" automatique à l'aide d'aspirateurs de sites par exemple.
Ainsi, si le code saisi ne correspond pas à l'image générée, le courriel n'est pas envoyé ou le téléchargement est refusé.
Concernant les adresses, il est possible de la faire apparaître sous la forme "nom dot prenom at domaine dot fr" par exemple, chacun sachant très bien aujourd'hui ce qui signifient "at" et "dot".
|
|
|
| La solution retenue |
La méthode n'est pas fiable à 100%, car il existe des robots capables de scanner des images afin d'en déterminer les caractères, mais elle devrait suffire à éloigner les plaisantins.
Le principe retenu est le suivant :
Une image de fond pour brouiller légèrement ;
Une suite d'images représentant le code.
Les avantages de ce principe :
Chacun pourra créer son propre fond ;
Chacun pourra créer ses propres images ;
Chacun pourra adapter la présentation.
Les désavantages de ce principe :
N'est pas fiable à 100% ;
Demande un peu de travail graphique ;
Nécessite un minimum de codage.
Le code généré sera stocké dans une variable de session pour éviter qu'il soit dans la page elle-même et donc facilement récupérable, et verra sa durée de vie limitée à celle de la session.
La mise en place se fera de façon très simple :
Un fichier include pour générer le captcha et la variable de session ;
Une comparaison de la variable postée et de la variable de session après soumission.
|
|
|
| Les images |
| L'image de fond : |  |
Chacun pourra donc modifier à sa guise cette présentation, en changeant l'image de fond, en modifiant les caractères, en changeant la taille et/ou leur inclinaison, afin de brouiller davantage les pistes :)
|
|
|
DB77 le
13/04/2009 (34 987 hits) |
|
|