Implémentation des CAPTCHA (Completely Automated Public Turing tests to tell Computers and Humans Apart).
Ce paquet fourni les fonctionnalités pour créer un CAPTCHAs (Completely Automated Public Turing tests to tell Computers and Humans Apart). Les fonctionnalités proposées sont:
Créer un CAPTCHA graphique en utilisant GD2
Une architecture de "driver" pluggables en utilisant le pattern factory.
The package creates CAPTCHAs; due to the stateless nature of the HTTP protocol, the logic to secure a webpage using the package must be specifically implemented. Regardez l'exemple d'utilisation pour des informations détaillées.
Pour le moment, le driver graphique CAPTCHA dépend de Image_Text qui lui même requiert le support TTF qui doit être compilé en dans le PHP.
L'exemple qui suit implémente l'utilisation commune d'un CAPTCHA: Soumettre un formulaire de donnée qui ne sera pris en compte que si le CAPTCHA a correctement été résolu.
Exemple 59-1. Créer un CAPTCHA Le code qui suit crée un CAPTCHA, provides the relevant information for the package, anhd retrieves the CAPTCHA as a PNG image.
|
Exemple 59-2. Protéger un formulaire avec un CAPTCHA Le code suivant implémente la fonctionnalité de vérification qu'un CAPTCHA a été correctement ou pas résolu. Pour cela, la phrase du CAPTCHA est stockée dans une variable de session pour conserver la l'information à comparer. Il est important de vider (unset) la session après résolution du CAPTCHA pour éviter une réutilisation de l'ID de session.
Regardez le fichier CAPTCHA_test.php dans le paquet distribué pour un exemple complet et fonctionnel (support GD et TTF requis). |
Text_CAPTCHA provides information about the CAPTCHA and makes its inner workings accessible using several functions defined in the base class; the specific implementation of them is up to the driver.
init() is used to initialize the CAPTCHA and provide further information, like Image_Text parameters.
_createCAPTCHA() generates the CAPTCHA, but is called internally by init().
getPhrase() returns the CAPTCHA's phrase.
_createPhrase() creates a phrase for the CAPTCHA, but is used internally.
getCAPTCHA() returns the CAPTCHA, the format used depends on the driver implementation.
Précédent | Sommaire | Suivant |
Texte | Niveau supérieur | Text_CAPTCHA_Numeral |