begin process at 2012 02 15 13:52:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > CAPTCHA ( ANTI-SPAM, ANTI-ROBOT )

CAPTCHA ( ANTI-SPAM, ANTI-ROBOT )


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Classé sous :captcha, antispam, antirobot, sécurité Niveau :Débutant Date de création :25/04/2007 Date de mise à jour :25/04/2007 18:02:02 Vu / téléchargé :12 677 / 1 291

Auteur : WanaDien

Ecrire un message privé
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Génération d'une image pour anti-robot/anti-spam

A chaque chargement de la page, voici ce qui change :

1/ La couleur de fond
2/ La chaîne de caractère
3/ La couleur de chaque caractère ( plus foncé que la couleur de fond dans tous les cas )
4/ La police de chaque caractère
5/ L'angle de chaque caractère
6/ La taille de chaque caractère
7/ La position vertical de chaque caractère

Aucun caractère sort de l'image.
De temps en temps il y a des chiffres qui se chevauchent suivant l'angle, le chiffre, sa taille et sa position, mais ça reste dans 99% des cas, lisible. ( pour ma part )

Source

  • <?php
  • session_start();
  • srand(); //initialisation du générateur mais plus obligatoire > PHP 4.2
  • // Définition du content-type
  • header("Content-type: image/png");
  • $lettres = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
  • $code = $lettres[rand(0,25)].rand(100,1000000);
  • $longueurcode = strlen($code);
  • $_SESSION['code'] = $code; //pour pouvoir tester si le code saisie est bien égal à celui saisie ;)
  • $largeur = $longueurcode * 25;
  • $hauteur = 40;
  • $image = imagecreatetruecolor($largeur, $hauteur);
  • $couleurfond = imagecolorallocate($image, rand(150,255),rand(150,255),rand(150,255));
  • imagefilledrectangle($image, 0, 0, $largeur, $hauteur, $couleurfond);
  • $fontchiffre = array('1.ttf','2.ttf');
  • $fontlettre = array('3.ttf');
  • imagettftext($image, rand(15,30), rand(-45,15), 10, 35, imagecolorallocate($image, rand(10,100) ,rand(10,100),rand(10,100)), $fontlettre[0], $code[0]);
  • for ($i = 1; $i < $longueurcode; $i++)
  • {
  • $largeurx = 20 * $i + 30;
  • $hauteury = rand(25,40);
  • imagettftext($image, rand(27,32), rand(0,45), $largeurx,$hauteury, imagecolorallocate($image, rand(10,100) ,rand(10,100),rand(10,100)), $fontchiffre[rand(0,1)], $code[$i]);
  • }
  • imagepng($image); //génère l'image
  • imagedestroy($image); //détruit l'image
  • ?>
<?php
session_start();

srand(); //initialisation du générateur mais plus obligatoire > PHP 4.2

// Définition du content-type
header("Content-type: image/png");

$lettres = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');

$code = $lettres[rand(0,25)].rand(100,1000000); 
$longueurcode = strlen($code);

$_SESSION['code'] = $code; //pour pouvoir tester si le code saisie est bien égal à celui saisie ;)

$largeur = $longueurcode * 25;
$hauteur =  40;

$image = imagecreatetruecolor($largeur, $hauteur);

$couleurfond = imagecolorallocate($image, rand(150,255),rand(150,255),rand(150,255));

imagefilledrectangle($image, 0, 0, $largeur, $hauteur, $couleurfond);

$fontchiffre = array('1.ttf','2.ttf');
$fontlettre = array('3.ttf');

imagettftext($image, rand(15,30), rand(-45,15), 10, 35, imagecolorallocate($image, rand(10,100) ,rand(10,100),rand(10,100)), $fontlettre[0], $code[0]);

for ($i = 1; $i < $longueurcode; $i++) 
{
    $largeurx = 20 * $i + 30;
    $hauteury = rand(25,40);
    imagettftext($image, rand(27,32), rand(0,45), $largeurx,$hauteury, imagecolorallocate($image, rand(10,100) ,rand(10,100),rand(10,100)), $fontchiffre[rand(0,1)], $code[$i]);
}

imagepng($image); //génère l'image
imagedestroy($image); //détruit l'image

?>

 Conclusion

Un petit truc avec la police 3.ttf, elle s'affiche en majuscule, alors que la lettre est en minuscule, mais bon ça, c'est le créateur de la police qui a voulu tout mettre en majuscule, la seule différence, c'est que la lettre est inversé pour les majuscules.. ><
Pour ma part, vu que j'ai mis que des minuscules, lors du test, j'utilise la fonction php strtolower() pour le code saisie.

Voilà voilà, si quelqu'un arrive a bousillé mon captcha, si c'était possible qu'il me le fasse savoir pour que je puisse l'améliorer.
C'est ma première source que je poste ici, en espérant qu'elle puisse aider des personnes.

Si vous avez des questions, ou des critiques, n'hésitez pas.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 avril 2007 09:55:09 :
Modification dans la présentation du code.
25 avril 2007 17:59:59 :
Ajout du zip ><
25 avril 2007 18:02:02 :
Ajout du zip ><

 Sources du même auteur

Source avec Zip Source avec une capture CAPTCHA CALCUL / CARACTÈRE À LA XIÈME POSITION D'UNE CHAÎNE.

 Sources de la même categorie

Source avec Zip Source avec une capture ACCÈS, ESPACE MEMBRE AVEC INSCRIPTION ET DÉSINSCRIPTION PAR ... par stephelle
Source avec Zip CRYPTAGE REVERSIBLE par Mokost
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
Source avec Zip PROTÉGEZ VOS LIENS DE TÉLÉCHARGEMENT PAR MOT DE PASSE ET/OU ... par unlien
CRYPTAGE/DECRYPTAGE MCRYPT par sephirothgeek

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip Source avec une capture CAPTCHA VISUELLE par kankrelune
Source avec Zip CAPTCHA NON VISUELLE par kankrelune
Source avec Zip Source avec une capture CAPTCHA CALCUL / CARACTÈRE À LA XIÈME POSITION D'UNE CHAÎNE. par WanaDien
ANTI SPAM ET ANTI ROBOT : SECURISATION DE FORMULAIRE SANS C... par tkof

Commentaires et avis

Commentaire de maxroucool le 25/04/2007 23:36:34

J'étais justement en train de chercher un captcha et c'est le seul de ceux que j'ai trouvé qui soit simple, codé en quelques lignes et lisible!
Tres bien, j'ai juste changé les polices pour en mettre des plus basiques (arial, courrier, times) car je ne les trouve pas tres lisibles les tiennes.

Commentaire de wizad le 26/04/2007 00:45:42

Comme d'habitude ce système posent d'énorme problème notamment pour les déficients visuel. Mais bon  on finit par s'y habituer. De plus il existe déja de nombreuse captcha. Ah et au fait l'attribut alt n'est pas là pour faire joli. ;)

Commentaire de WanaDien le 26/04/2007 00:56:41

Maxroucoul : Ouais pour les polices je suis d'accord, mais c'était les seules que je trouvais "gommées" donc plus difficile à détecter pour les robots, mais après chacun à le choix de prendre la police qu'il souhaite :)

Wizad : Oui pour le visuel je suis d'accord, c'est pour ça que quand j'aurai le temps, je ferrai une version audio, cependant la police peut être changer là, c'est pas très difficile ....
Je met rien dans l'attribut alt car ça sert à rien de préciser que c'est l'image du code a recopié, étant donné que quand le formulaire en général tu mets "Recopier le code si dessous" et que l'image tu l'as met en dessous ... Après chacun est libre de mettre ou pas un commentaire au passage de la souris sur l'image.
Et si je supprime l'attribut alt, ce n'est plus valide en xhtml strict.


Cordialement. Sullivan.

Commentaire de wizad le 26/04/2007 01:03:34

bon je vais chipoter un peu : un fichier xhtml strict nécéssite que tous les attributs alt soit présent et correctement remplis. Pour une raison toute bete : il arrive pour n'importe quel raison d'être amené à utiliser des navigateur en mode text. Il est toujours intérréssant de savoir qu'il s'agit d'une captcha (et d'ailleur qu'il vaux mieux chercher un autre site vu qu'on pourra pas lire l'image).

Commentaire de WanaDien le 26/04/2007 01:14:29

lol, tu cherches vraiment la petite bête :p
Mais même s'il n'y a rien dans le contenu de "alt", ça reste valide xhtml strict, donc c'est qu'il n'y a pas de soucis.
Dans un formulaire tu précises : "recopier le code dans l'image si dessous", donc tu as pas besoin de rajouter que l'image est une captcha, car c'est préciser au dessus, que tu sois sur un navigateur en text ou pas. Après chacun son avis.
Le champs alt, personnellement, je le remplis quand je précise rien sur l'image, sinon ça fait trop, et j'aime pas ><, après si vraiment c'est obligatoire à 100% de préciser, bah je le ferrai, mais personne m'en avait fait la remarque, ni même mes profs, donc, j'ai conclus que ce n'était pas grave de rien préciser dans le alt.

Commentaire de neigedhiver le 29/04/2007 21:26:59

Salut,

"Après chacun est libre de mettre ou pas un commentaire au passage de la souris sur l'image."
Euh... le commentaire au passage de la souris, c'est l'attribut title, qui lui, est optionnel.
Quitte à pinailler encore un peu plus : sans l'attribut alt, ce n'est pas valide XHTML transitional, frameset et strict.

Citation :
**********
Mozilla Firefox and the alt Attribute

If you use the alt attribute in Firefox on images and image maps the text will not show on mouse-over as in other browsers.

Firefox uses the alt attribute the way it's meant to be used, like an alternative text if the image won't load, not as a mouse-over text.

Firefox does support mouse-over comments on images or image maps if you use a title attribute in the <img> tag.

E.g. <img src="image.gif" alt="bla" title="bla bla bla"
**********
Source : http://www.w3schools.com/tags/tag_img.asp

Mais c'était juste pour pinailler, hein ;)

Commentaire de masterofquebec le 22/05/2007 20:15:17

10/10, Mais comment puige l'inclure dans mon script d'upload ?
j'ai le fichier add.php qui est le formulaire et un autre qui est upload.php (c'est lui qui fais la vérification) ?

Commentaire de jabirmed le 27/06/2008 01:38:56

merci pour le code
mais comment changer les polices vers arial, courrier, times ?

merci d'avance

Commentaire de WanaDien le 27/06/2008 12:24:43

Tu mets tes polices dans le dossier du captcha

Et tu modifies ses lignes :

# $fontchiffre = array('1.ttf','2.ttf');
# $fontlettre = array('3.ttf');

A la place de 1.ttf, par exemple tu mets nom_de_ta_police.tff

Commentaire de kypon le 05/10/2009 22:09:58

Salut à tous j' arrive peut être un peu tard sur ce post, mais je viens de télécharger ce captcha que je veux absolument intégrer sur mes formulaires, mais étant débutant en php, je ne sais pas quel code mettre dans mon fichier envoi.php pour vérifier si le code entré par l'utilisateur est bon, si vous pourriez m'aider ce serait trop cool.
Merci d'avance.

Commentaire de kypon le 08/10/2009 00:57:39

Personne pour me repondre svp aidez moi j suis trop blaze ça fait 5 jours et nuits que j passes à essayer 1000 trucs pour que ça marches et rien toujours les memes erreurs je craques j suis meme pret a faire une petite donnation si vous me sortez de cette m...
merci.
cordialement.

Commentaire de jabirmed le 08/10/2009 01:48:12

Bonsoir KYPON

voila pour utilisé ce code :

dans le formulaire  :

<html>
<head>
<SCRIPT type=text/javascript>

function imag()
{
window.document.image.src='generateurcode.php';
}
</script>
<title>Code capatcha</title>
</head>
<body>
<FORM name="form2submit" action="send.php" method="post">
<table width="99%" border="0">
                          <tr>
                            <td>Veuillez recopier le code de v&eacute;rification ci-contre : &nbsp;<img src="generateurcode.php" alt="" name="image"/> &nbsp;<a name="a"></a>
                              <input name="cd" type="text" size="12" maxlength="6">
                              &nbsp;&nbsp;<a href="#" onClick="imag()">changer l'image</a></td>
                          </tr>
                        </table>
</FORM>
</body>
</html>



et dans la page d'envoi : send.php
<?php
session_start();
if ($_SESSION['code']=="$txt")
{

echo " le code capatcha est correcte";

}
else
{

echo " erreur dans le code capatcha";
}

?>



vos pouvez télécharger un exemple d'ici  : http://www.ait-ourir.net/capatcha.rar  ( mon site )

bon ce code ça marche sur quelque hébergeur d'autre non

si ça marche sibon sinon envoyer moi un email à mahdivitche@hotmail.com pour donner un autre code

Bonne nuit

Commentaire de kypon le 08/10/2009 04:01:10

Merci de ta réponse, mais j ai essaye ton code j ai bidouillé mais rien n y fait je suis chez ovh peut etre que ça ne foncyionne pas sur leur serveur. j te recontactes par mail. encore merci

Commentaire de jabirmed le 08/10/2009 11:17:26

Bonjour KYPON ,

voila un autre solution très simple a utilisé est ça marche à 100 %  :)

télécharger ici : http://www.captcha.fr/index.php?page=4&langue=fr

explication ici : http://www.captcha.fr/index.php?page=34

ce script ça marche sur toutes les serveur

( je suis maintenant au travaille et je peut pas connecter au msn mais le soir oui )

@+

Commentaire de kypon le 08/10/2009 17:26:41

Merci pour l'adresse de cryptographp, mais je n'aimes pas ce captcha, trop de fichiers, j aimerai vraiment utiliser celui ci, j ai presque reussi, maintenant le captcha fonctionne, mais si il n est pas bon le message s envoi quand meme j v continuer a me prendre la tete j finirais bien par y arriver. Merci a toi Jabirmed

Commentaire de jabirmed le 08/10/2009 18:15:16

Bonjour kypon ,

j'ai envoyé un message a votre boite email

parce que tu es faire un changement de nom de champs pour cela ça marche pas

@+

Commentaire de kypon le 08/10/2009 23:12:39

Merci beaucoup Jabirmed t trop cool

Commentaire de romantica le 21/02/2011 09:49:40

bonjour,petit script super léger,bravo a l'auteur,seule petit problème le code est illisible j'ai essayé de changer la police en:# $fontchiffre = array('verdana.ttf','verdana.ttf');
mais l'image ne s'affiche plus.
autre problème quand on valide il m'affiche cette erreur:

The requested URL /erreur dans le code capatchaif ($modif = 1) { echo was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
merci de l'aide

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Sécurité [ par thebigbang ] Bonjout,Je suis webmaster et je voudrais sécurisé, enfin c'est une facon de parler, un peu plus mon site ...il conmporte un dossier "admin" et lorsque quand on parle sécurité [ par Tomcube ] Oui, nous ne vivons pas dans un monde sans criminels !! ^^ (me prenez pas pour un débile lol) Et sur internet les criminels c les hackers. Donc pour l Sécurité-fichiers-dossiers [ par stageSAP ] Bonjour,Pour mon site, je protège l'accès aux pages grâce aux variables de sessions et cela marche très bien. Je travaille en local pour l'instant. Su Sécurité pour un script de commentaires !!! et droits d'auteur?? [ par perig ] BonjourJe suis désolé, je n'ai pas fini de vous embêter avec mes questions !!!! Voilà la question du jour :J'ai crée un script qui pe avertissement de sécurité [ par mojira ] comment fait on pour provoquer une boite de dialogue nommée avertissement de sécurité?celle ci se produit quand un site propose d'installer et d' exé Sécurité de travail [ par Trigun222 ] Salut,Je me suis trouvé une passion, c'est l'infographie et l'informatique en général, j'aimerais bien m'y engager et avoir un métier là dedans, mais Question sécurité [ par zzzzzz ] Salut j'ai un formulaire et une zone de texte.J'aimerai savoir si il est necessaire de filtré les touches. voir si il y a pas de &lt; par exemple ? j Question de sécurité [ par zzzzzz ] Salutj'ai pas mal de page en php. Je me demandais quels sont les risques rééls sur les url. genre on rajoute un code apres l'url ? on pourrai ainsi in Sécurité & Cryptage des sources [ par GregPeck ] Bonjour,Je viens de créer à ma boite un logiciel de gestion de planning en php mysql sur un serveur linux. Les gens peuvent créer leur planning sur no $_SERVER['SERVER_NAME'] sécurité ? [ par inconnuanonyme ] SalutJe touche un peu au php et voici ma question :supposons que je possède un site chez free :http://site.free.frsur lequel se trouve l'index index.p


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,257 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales