Adelia Web

Een kaptcha binnen Adelia Web

Hoe neem je een kaptcha op binnen een Adelia Web applicatie? Dit is een controle-veld om de browser er van te overtuigen dat het formulier niet door een programma wordt ingevuld, zoals je veel op internet ziet. Zie bijvoorbeeld de volgende:

cracked captcha


Voor dit voorbeeld maken we gebruiken van de kaptcha bibliotheek van Google : http://code.google.com/p/kaptcha/

1. Integreer de kaptcha binnen de Adelia Web Pagina
Neem een image-tag in je formulier op die de kaptcha-afbeelding zal tonen:

<img id="captchaImg" src="/../kaptcha.jpg" />

Opmerking : de URL ../kaptcha.jpg verwijst niet naar een bestaande afbeelding, maar zal door de kaptcha servlet gegenereerd worden.
Voeg een Adelia invulveld toe waarin de waarde kan worden ingevoerd door de gebruiker:

<adelia:entryfield type="ALPHA" length="5">
<input type="text" name="CHS_1" id="CHS_1" size="5" maxlength="5" />
</adelia:entryfield>


Opmerking : Standaard genereert de gebruikte kaptcha bibliotheek een kaptcha van 5 tekens.

Test de kaptcha

2. Test de kaptcha in je 4GL code:
Voeg de class sampleCaptcha toe in de directory WEB-INF\classes.
Voeg vervolgens in de Adelia Web 4GL de volgende call toe :

CALL_CLASS 'sampleCaptcha' 'checkCaptcha' *PAGE_CONTEXTE CHS_1 wKaptchaOk
IF NOT wKaptchaOk
   *-- de ingevoerde tekst is niet gelijk aan die in de afbeelding
ELSE
   *-- ok
END


3. Configuratie van de Web applicatie : http://code.google.com/p/kaptcha/wiki/HowToUse

Voeg de kaptcha-bibliotheek toe in de directory WEB-INF\lib :
Gebruik Kaptcha-2.3.jar als je JDK 1.5 of 1.6 hebt geinstalleerd.

Voeg in het bestand web.xml de declaratie van de servlet toe die de afbeelding zal genereren:
<servlet>
<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>

Neem binnen de Tomcat configuratie de regel -Djava.awt.headless=true.
Het is mogelijk een aantal parameters voor de kaptcha afbeelding op te geven, zie http://code.google.com/p/kaptcha/wiki/ConfigParameters

Meer Adelia Web vragen


Andere fonts

Gebruik eens andere fonts op het web. Lees meer

Kalender Nederlandstalig

Hoe maak ik het calendar object van Adelia Web Nederlandstalig? Lees meer

Voortgangs-indicator

Hoe neem ik een voortgangs-indicator op m.b.v.ajax? Lees meer