captcha
Créer une captcha
La classe captcha vous permet de générer une image dynamique contenant un texte aléatoire. Cela sert, notemment, à vérifier que des robots ne valident pas vos formulaires. Cette classe ne fonctionne qu'en PHP5.
Les possibilités sont :
- Utilisation de police True Type
- Définition du nombre de caractères générés
- Image de fond
- Couleur de fond
- Bordure (taille, couleur, coins arrondis)
- Marge interne
- Angle du texte
- Ombre sur le texte (taille, couleur et positionnement)
ATTENTION!
Cette méthode n'est pas du tout accessible ... En effet, des personnes ayant un handicap visuel ou cognitif ne pourront pas recopier le texte contenu dans l'image, il vous faut donc prévoir un système alternatif.
Les Méthodes
- __construct - Nouvelle Instance - Fixe le type d'image générée
- setStringLenght - Taille de la chaîne aléatoire générée
- setFont - Définir la police True Type et sa taille
- setBackgroundColor - Définir la couleur de fond de l'image
- setBorderColor - Définir la couleur de la bordure
- setBorderWidth - Définir la taille de la bordure
- setTextColor - Définir la couleur du texte
- setImageWidth - Définie une largeur pour l'image (optionnel)
- setImageHeight - Définie la hauteur pour l'image (optionnel)
- setShadow - Définie si une ombre doit être appliquée sur le texte
- setShadowColor - Définie la couleur de l'ombre (optionnel)
- setTextAngle - Définie un angle d'affichage pour le texte
- setFromBorder - Définir une marge pour l'ecriture du texte
- setRoundedCorners - Coins arrondis
- getImage - Génère l'image et l'affiche
- getRandString - Récupère la chaîne aléatoire générée
Exemples
- Exemple Minimal
- Exemple : Couleur de fond et bordure
- Exemple : Image de fond et angle sur le texte
- Exemple : Ombre sur le texte et coins arrondis
Exemple Minimal
<?php
include_once 'captcha.class.php';
// image PNG
$I = new captcha('JPEG');
// on génère une chaine aléatoire de 10 caractères
$I->setStringLenght(10);
// police Tuffy de taille 15
$I->setFont('fonts/Tuffy.ttf' , 15);
// génération de l image
$I->getImage();
// on met la chaîne générée en session pour le contrôle
$_SESSION['captcha-control'] = $I->getRandString();
?>
include_once 'captcha.class.php';
// image PNG
$I = new captcha('JPEG');
// on génère une chaine aléatoire de 10 caractères
$I->setStringLenght(10);
// police Tuffy de taille 15
$I->setFont('fonts/Tuffy.ttf' , 15);
// génération de l image
$I->getImage();
// on met la chaîne générée en session pour le contrôle
$_SESSION['captcha-control'] = $I->getRandString();
?>