Cliquez sur l'image pour tester |
INTRODUCTION |
Voici un petit script de test anti robot créé initialement en 2014, développé en PHP, utilisant des jetons (tokens) au format texte, demandant à l'utilisateur de copier un code affiché dans une image. Concept du test:Ce script permet de créer une protection classique: lorsqu'il est lancé, un code aléatoire est généré puis copié dans un jeton à usage unique sauvegardé sur le serveur. Une fois le jeton sauvegardé, le document HTML est affiché. Ensuite, ce document charge une image, générée à la demande, en envoyant une requête HTTP au serveur passant l'identifiant unique du jeton en paramêtre. De cette façon, le code de protection n'est jamais inclus en "texte clair" dans le document, seul l'identifiant du jeton l'est, et il est impossible de connaitre le code sans visualiser l'image. C'est ainsi qu'on procède au test, en demandant à l'utilisateur de copier le code de protection dans le champ texte associé puis de valider son action. La dernière étape du processus compare le code envoyé au à celui précédemment enregistré dans le token, puis réagit en fonction du résultat. La méthode de protection mise en oeuvre par ce programme, bien connue sur internet, est efficace contre les spams et de nombreux robots. Cepandant, il s'agit là d'un script basique qui ne protègera pas un site internet contre les robots plus sophistiqués, capables d'interpréter les caractères affichés dans une image. Il est donc tout à fait adapté, en l'état, à un site ayant une audience faible ou moyenne, mais devra être amélioré et accompagné d'autres systèmes de protection sur des sites ayant une audience forte ou subissant de nombreuses nuisances. |
Détails techniques |
Génération de l'imageLe script utilise la bibliothèque GD de PHP pour générer une image "à la volée". Gestion des fichiers jetonsChaque jeton créé est sauvegardé sous forme d'un fichier texte contenant le code de protection associé. Lorsqu'un code testé est correct, le fichier du jeton est automatiquement effacé du serveur. La durée de vie d'un jeton est d'une heure, et les jetons non utilisés sont automatiquement supprimés du serveur. Utilisation par requête HTTP:Le script est adapté à une utilisation par des requêtes HTTP. Ainsi, le programme peut-être utilisé par n'importe quel programme bénéficiant d'une connexion au serveur. Le formulaire offert avec le script devrait vous permettre d'en comprendre le fonctionnement. Protection des donnéesLe dossier de sauvegarde des données est protégé par un fichier HTACCESS, empêchant toute intrusion depuis l'extérieur. Installation:Ce programme peut être facilement intégré dans un site ou un script. Pour une protection optimale, il est nécessaire de modifier le mot de passe du fichier HTPASSWD en utilisant un mot de passe long, contenant des chiffres et des lettres, tel un Hash créé par l'algorithme SHA-256. En cas de problème avec l'image, assurez-vous que la bibliothèque GD est intégrée à votre version de PHP et que l'adresse du script utilisé pour les requêtes HTTP est correcte. Configuration du scriptLe script dispose d'un fichier de configuration ("captcha-config.php") permettant de modifier certaines options. |
TÉLÉCHARGEMENT |
Ce document crée par Christophe Leblanc est publié sous licence Creative Commons Attribution-ShareAlike 4.0 International License. |