19 Nov 2008
Captcha PHP / JS basique via une simple addition
Compatibilité : PHP 5, PHP 7
Captcha similaire a Captcha basique via une simple addition, mais en y ajoutant un contrôle en JS.
Il existe beaucoup de script de captcha sur le Net, des simples et des plus compliqués. Celle ci est simple à mettre en place et il fonctionne très bien sur tout les navigateurs (IE, FireFox, Chrome..)
|
php.net | Description | Versions PHP | OUTIL |
---|---|---|---|
die | Alias de la fonction exit() | PHP 4, PHP 5, PHP 7, PHP 8 | |
echo | Affiche une chaîne de caractères | PHP 4, PHP 5, PHP 7, PHP 8 | |
header | Envoie un en-tête HTTP | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagechar | Dessine un caractère horizontalement | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagecolorallocate | Alloue une couleur pour une image | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagecreate | Crée une nouvelle image à palette | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagedestroy | Détruit une image | PHP 4, PHP 5, PHP 7, PHP 8 | |
imagejpeg | Envoie une image JPEG vers un navigateur ou un fichier | PHP 4, PHP 5, PHP 7, PHP 8 | |
imageline | Dessine une ligne | PHP 4, PHP 5, PHP 7, PHP 8 | |
isset | Détermine si une variable est affectée | PHP 4, PHP 5, PHP 7, PHP 8 | |
mt_rand | Génère une meilleure valeur aléatoire | PHP 4, PHP 5, PHP 7, PHP 8 | |
rand | Génère une valeur aléatoire | PHP 4, PHP 5, PHP 7, PHP 8 | |
session_start | Initialise une session | PHP 4, PHP 5, PHP 7, PHP 8 | |
strlen | Calcule la taille d'une chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
strtolower | Renvoie une chaîne en minuscules | PHP 4, PHP 5, PHP 7, PHP 8 | |
substr | Retourne un segment de chaîne | PHP 4, PHP 5, PHP 7, PHP 8 | |
unset | Détruit une variable | PHP 4, PHP 5, PHP 7, PHP 8 | |
Captcha similaire a Captcha basique via une simple addition, mais en y ajoutant un contrôle en JS.
Créer une vignette sur la base du type d'image avec GD est simple en utilisant quelques fonctions clés que voici.
Dessine un texte de plusieurs lignes sur une image avec une police PostScript.
Cette fonction vous permettra d'intégrer du texte sur une image avec un retour à la ligne automatique au bout d'une longueur de texte définie sans
Générateur automatique d'images pour Captcha. Le texte de la captcha est stocké dans une variable de session inaccessible côté client.
19 Nov 2008
Dernière mise à jour :
Invité
16 Sept 2020 à 14:18bonjour,merci infiniment pour le script.
Invité
21 Sept 2019 à 20:25Ce code est impeccable et toujours dans le coup en PHP 7. Un grand merci à son auteur
KOogar
20 Déc 2010 à 23:21il n'y a rien a bidouiller, il faut correctement créer un fichier php, l'apelé securitecode.php, ensuite installer le formulaire sur la page que l'on souhaite protéger. Rien de plus simple. Maintenant si ton formulaire ne s'affiche pas, vu que c'est du pur html, c'est que tu as un problème autre part.
Invité
17 Déc 2010 à 10:22En l'état le code ne fonctionne pas. Seul le formulaire s'affiche sans l'image. En bidouillant le code l'image s'affiche mais plus le formulaire... Y'aurait-il une personne qui aurait de m'expliquer le pourquoi du comment ? Merci d'avance.
Invité
05 Aout 2009 à 14:59Cela aurait été vraiment sympa de faire partager ta connaissance non ? Bref moi je dis en néophyte que je suis que ce site est bourré de scientifistes comme mon prof de maths qui n'arrive pas à s'adapter à une classe de 3ème parce que lui c'est une tête en classe prépa. C'est pas comme ça qu'on donne envie aux gens de progresser bonne journée
Invité
31 Juil 2009 à 19:26Génial, merci beaucoup !
KOogar
07 Juil 2009 à 01:20C'est simplement la dernière mise en cache de cette page qui a foirée. La variable counter est bien initialisé à 0
Invité
06 Juil 2009 à 18:13la variable counter n'est ni définie ni utilisée... en l'enlevant ça marche!
aio!
Invité
20 Juin 2009 à 06:53..et surtout réédité mon pste où j'ai fait pleins de fautes !!! (mille excuses)
Invité
20 Juin 2009 à 06:52Bonjour,
Le script final (omplet) ne foncitonne pas. En effet il y a une erreur par rapport aux scripts que vous avez écris dans le cours.
J'ai reprise les scripts écris dans la partie 1 et 2 et tout fonctionne maintenant.
Je pense que le problème vient de là (rééditer votre code au complet !)
Encore merci pour ces scripts Captcha,
Cordialement
Alexis
Invité
18 Mai 2009 à 04:48Ne pas accepter les cookies bypass le système, pourquoi ? :
if ($secure == $_SESSION['securecode'])
/*
Si $secure est envoyé vide et que $_SESSION['securecode'] n'existe pas (n'accepte pas les cookies) ça retourne TRUE. Il faut donc tester les cookies préalablement.
Invité
29 Avril 2009 à 22:24Ce code doit marcher, je n'en doutes pas...sauf que je n'ai pas d'affichage de l'image qui doit être générée par securitecode.php,
dans le formulaire une place "input name="secure" type="text" size="10" /" est réservé... sans image dedans...ou est le mystère et de quel nature est-il ?!
Invité
02 Mars 2009 à 10:24Bonjour,
Je me pose une question bête et méchante :
Si un spammeur utilise mon formulaire pour me spammer, je devrais reçevoir se spam sous la forme de la réponse, pré-formatée, à mon formulaire et ça devrait se présenter sous cette forme :
NOM : Albert MACHINCHOSE
email : xxx@yyyy.zz
Sujet : Ceci-celà
texte : Bla bla bla
Or ce n'est pas le cas car le spam m'arrive sous une forme tout à fait standard.
Donc le spammeur se contente de récupérer l'adresse email du site sans passer par la procédure d'envoi du formulaire.
Dans ce cas, le codage me paraît inefficace.
Toutefois, ce qui me défrise c'est que le spammeur se présente avec l'adresse email de mon site, ce qui donne un truc du genre : De monsite@monsite.com à monsite@monsite.com
Je ne vais quand même pas mettre l'adresse email de mon site sur ma liste noire !
Ce que je voudrais c'est interdire l'envoi du formulaire si la finale de l'email de l'expéditeur est @monsite.com, car les usurpateurs utilisent aussi parfois uniquement cette finale en la faisant précéder par ce qu'ils veulent...
Mais je ne sais pas trop comment filtrer en interdisant l'envoi si la finale de l'expéditeur est @monsite.com.
A noter que ma propre adresse email n'est pas au nom de ce site et qu'aucune autre boîte n'est ouverte sur ce suffixe @monsite.com, donc rien ne m'empèche de l'interdire systématiquement.
Merci d'avance pour l'aide qu'on pourra m'apporter.
Invité
14 Jan 2009 à 20:56bonjour,
je ne comprends pas comment on peut traiter les infos par la suite...ou doit on indiquer la page qui traite les informations qui se situe normalement dans la balise action? sinon on reste toujours sur la même page? j'ai du passer à côté de quelque chose...