Intégration d'un captcha dans une page Adélia Web
Il existe plusieurs librairies de gestion de captcha en Java (rechercher "java captcha" sur Google).
Nous allons utiliser pour cet exemple, la librairie Kaptcha : http://code.google.com/p/kaptcha/
L'exemple se base sur la version 2.3.
Intégration du captcha dans la page Adélia Web :
Dans le formulaire, ajouter un tag IMG qui servira à afficher l'image du captcha :
Note : L'URL ../kaptcha.jpg ne pointe pas sur une image réelle dans sur la servlet de génération de l'image du captcha.
Ajouter un champ de saisie Adélia qui servira à saisir la valeur du captcha :
Note : Par défaut, la librairie Kaptcha génère un captcha de 5 caractères. Le contrôle de validité du captcha est insensible à la casse.
Test du captcha dans le code L4G
Ajouter la classe sampleCaptcha dans le répertoire WEB-INF\classes :
Attention : cette classe a été compilée avec un JDK 1.5.
Dans le L4G, ajouter :
si captchaOk = *faux
* le texte saisi par l'utilisateur (valeur de CHS_1) ne correspond pas à la valeur du captcha affiché
sinon
* saisie correcte
fin
Ajouter la bibliothèque kaptcha dans WEB-INF\lib :
Utiliser Kaptcha-2.3.jar si vous avez installé un JDK 1.5 (ou 1.6).
Ajouter dans le fichier web.xml la déclaration de la servlet de génération de l'image du captcha :
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/kaptcha.jpg</url-pattern>
</servlet-mapping>
Dans la fenêtre de configuration de Tomcat, rajouter -Djava.awt.headless=true dans les options Java.
Il est possible de configurer un certain nombre de paramètres dans la génération de l'image du captcha :
http://code.google.com/p/kaptcha/wiki/ConfigParameters
Comme par exemple, les caractères utilisés et le nombre de caractères du captcha, les couleurs du texte et de fond de l'image, etc.
Articles connexes
Les articles connexes apparaissent ici en fonction des étiquettes que vous avez sélectionnées. Cliquez pour modifier la macro et ajouter ou modifier des étiquettes.