Un captcha, avec gd, super simple, pour les noob's :)

Soyez le premier à donner votre avis sur cette source.

Vue 10 378 fois - Téléchargée 519 fois

Description

C'est un captcha, qui est sensée empêcher les robot de s'inscrire trop de foi,
ou juste rajouter un champs a faire si vous pansez que votre formulaire d'inscription est trop simple ;p

Fin vous en faites se que vous voulez, mais je le conseille au débutent qui veulent savoir comment ça marche, un captcha :p

J'ai BIEEENNNN commentez pour les noob's qui apprennent le php ;o)

Source / Exemple :


<?php
session_start();
switch($_GET['pg']) 
{
case '':
?>
<img src="<?php echo $_SERVER["PHP_SELF"]; ?>?pg=image" border="0" /><br/>Tape le code : <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>?pg=verifie">
<input type="text" name="code" /><input type="submit" value="OK" /></from>
<?php
break;

case 'verifie':
if ( $_SESSION['chaine'] === strtoupper($_POST['code']) )
{
$chaine = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789';
$chaine = str_shuffle($chaine);
$_SESSION['chaine'] = $chaine;
$msg = "Bon";
}
else
{
$msg = "Pas bon";
}
break;

case 'image':
$chaine = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789';
$chaine = str_shuffle($chaine);
$chaine = substr("$chaine", 0, 5);
$_SESSION['chaine'] = $chaine;
header ("Content-type: image/png");
$image = imagecreate(42,15);
$noir = imagecolorallocate($image, 0, 0, 0);
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 4, 1, 0, $chaine, $blanc); 
imagepng($image);
break;

default:
echo "On ne sais pas ou te mener...";
}
echo $msg;
?>

Conclusion :


Voili voilou, rien de plus, rien de moin =)

Ma première source sur cs, donc gueuler pas trop xD

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
4 mai 2009

J'ai un code pas plus compliqué mais un bien meilleur résultat :
http://www.phpcs.com/codes/CAPTCHA-ANTI-BOT-FICHIER-SON-WAV_47544.aspx

Bien entendu il est pas parfait, mais il est quand même bien plus resistant que le tien.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
un OCR est un type d'algo qui permet de lire les caracteres sur une image.
cf : http://fr.wikipedia.org/wiki/OCR

(ouais moi non plus je ne lis pas ce qu'il y a plus haut avant de poster...)
Messages postés
2
Date d'inscription
samedi 12 octobre 2002
Statut
Membre
Dernière intervention
9 octobre 2008

Un OCR est un logiciel de reconnaissance optique de caractères. Voir :
http://fr.wikipedia.org/wiki/OCR
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

OCR ou optical character recognition ou reconnaissance optique de caractères en français dans le texte... il sagit d'algo introduit dans les bots pour que ces dernier puissent lire du texte sur des images... pour plus d'infos...

http://fr.wikipedia.org/wiki/OCR

Sinon si tu veux une captcha avec les explications du code tu as celle que j'ai laissé en lien...

http://www.phpcs.com/codes/CAPTCHA-VISUELLE_42607.aspx

@ tchaOo°
Messages postés
56
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
29 octobre 2010

le jour où le débutant le lira est arrivé...


je suis désolé mais je ne comprends pas ton code. Il y a deux choses qui me choque en faite
la première, c'est que si un code est adressé à des débutants, un minimum de commentaire est recquis. J'en ai pas vu.
la deuxième c'est que tout reste à la même ligne.
celui de Yoman64 est plus clair, on repère rapidement les blocs d'instruction.
et si quelqu'un pouvait m'exliquer ce qu'est un ORC s'il vous plait. Merci
Afficher les 36 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.