Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Galerie] Réalisation de CAPTCHAs

On veut les votres

    8 août 2007 à 0:39:07

    J'ai vu "le pas toi en tout cas " écrit en blanc :colere: .
    Je vois que monsieur est un fin connaisseur des truc qui se passe sur le sdz. Et oui je la connaissais pas moi aussi avant 2-3 jour de celà mais bon je la connais tu la connais c'est super.
    Mais j'ai une question :
    C'est quand qu'on commence à créé ces */$^!!?;_\ de CAPTCHAS
    Ils sont où mes pillules anti-stress sinon je vais tué quelqu'un, et trouvez le coupable
    Moi aussi je pense que je commence à être fatigué, je revient demain pour voir si il y a d'autre captcha à pêcher :D
    • Partager sur Facebook
    • Partager sur Twitter
      8 août 2007 à 18:40:55

      Bonjour à tous ^^ !
      J'avais justement besoin de faire un Captcha pour mon site. Alors voilà ^^ Notez que j'ai essayé de faire dans l'efficacité ( en me réferrant à cette page ) plutôt que dans la beauté, mais c'est pas mal quand même :p !

      Une image de ma premire version :

      Captcha 1

      Les arcs de cercle sont aléatoire, les couleurs aussi, mais sont toujours opposé à l'arrière plan pour que ce soit lisible. Rotation des lettres, présence de caractères non-alphanumériques, épaisseur des caractères variables, police utilisé variable aussi ( là, j'avais mis que Arial et Times New Roman, mais on peut mettre toutes celles que l'on veut ) ...etc... Je pense que ca devrait suffire mon petit site personnel, non ^^ ?!
      Seul bémol, il arrive que certaines lettres disparaissent - tout ou en parti - masquer par le carré des autres ( qui n'est pas transparent mais de la couleur du fond ).

      Aussi ai-je tester de rendre transparent le fond des lettres, mais ca pixellise tout :

      Captcha 2

      ( encore là, c'est pas trop pixellisé ) . On peut donc décider de mettre en évidence les contours ( mais la couleur du fond est tout le temps la même désormais, à savoir Gris 50% ) ...

      Captcha 3

      ... ou bien d'appliquer un flou gaussien sur les lettres, mais justement, c'est flou et je trouve que ca fait mal aux yeux ^^ !

      Captcha 4

      Voilà, c'est tout pour le moment ! Niveau beauté, y'a pas à chercher, je préfère de loin la troisième, mais niveau efficacité ... ca reste à voir ^^ !

      ( P-S. : J'aurais bien aimé faire varier aléatoirement l'épaisseur des arcs de cercles, mais imageSetThickness n'a pas l'air d'avoir envie de marcher aujourd'hui ... )
      • Partager sur Facebook
      • Partager sur Twitter
        8 août 2007 à 18:58:53

        Si tu postais ton code ici ça serai super.
        Tout le monde pourrait en profiter
        • Partager sur Facebook
        • Partager sur Twitter
          9 août 2007 à 3:11:14

          Bonjour, j'ai un problème avec mon captcha...
          j'ai voulus modifiez à ma façon avec un exemple page 1 mais celà ne marche pas. :(

          Voici mon code, merci :D

          1. <?php
          2. session_start(); // Créér la session
          3. //***********************
          4. //**Création de l'image**
          5. //***********************
          6. $largeur=144;
          7. $longueur=50;
          8. $img=imagecreatetruecolor($largeur,$longueur);
          9. $couleur = imagecolorallocate($img, 51,204,255);
          10. //***************************
          11. //**Création des caractères**
          12. //***************************
          13. $nombre_de_caractere=6;
          14. $caractere = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz';
          15. $police = array('arial.ttf');
          16. $bord = 3;
          17. $espace = 10;
          18. //*************************************
          19. //**Boucle d'affichage des caractères**
          20. //*************************************
          21. for($i = 0; $i < 6; $i++)
          22. {
          23. $ligne = imagecolorallocate($img mt_rand(204,204,102), mt_rand(51,153,51), mt_rand(204,0,0), mt_rand(0,153,153), mt_rand(102,0,0), mt_rand(0,0,0), mt_rand(255,255,255), mt_rand(255,51,153)); //sy ya problème
          24. imageline($img, 0, mt_rand(0, $longueur), $largeur, mt_rand(0, $longueur), $ligne);
          25. }
          26. for($i = 0; $i < 6; $i++)
          27. {
          28. $ligne = imagecolorallocate($img mt_rand(204,204,102), mt_rand(51,153,51), mt_rand(204,0,0), mt_rand(0,153,153), mt_rand(102,0,0), mt_rand(0,0,0), mt_rand(255,255,255), mt_rand(255,51,153)); //sy ya problème
          29. imageline($img, 0, mt_rand(0, $longueur), $largeur, mt_rand(0, $longueur), $ligne);
          30. //*************************************
          31. //**Autres**
          32. //*************************************
          33. $x = mt_rand(2,20);
          34. for($i = 0; $i < $nombre_de_caractere; $i++)
          35. {
          36. $code_ajouter = $codes[mt_rand(0,$longueur-1)];
          37. $lettres .=  $code_ajouter;
          38. $bordure = mt_rand(-25, 20);
          39. $taille = mt_rand(25,35);
          40. $taille_longueur = ($longueur / 2) + ($taille/2);
          41. $couleur_texte = imagecolorallocate($img mt_rand(204,204,102), mt_rand(51,153,51), mt_rand(204,0,0), mt_rand(0,153,153), mt_rand(102,0,0), mt_rand(0,0,0), mt_rand(255,255,255), mt_rand(255,51,153));
          42. imagettftext($img, $taille, $bordure, $x, $taille_longueur, $couleur_texte, $realpath($police[array_rand($police)]), $code_ajouter);
          43. x += 1.2 * $taille + mt_rand(0,2);
          44. $_SESSION['mycode'] = $mycode;
          45. header('Content-type: image/png');
          46. imagepng($image);
          47. imagedestroy($image);
          48. ?>


          Par avance merci ;)
          • Partager sur Facebook
          • Partager sur Twitter
            9 août 2007 à 4:24:19

            $mycode n'est pas définie.

            LOL

            Bye
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              9 août 2007 à 9:37:18

              Bonjour,
              excusez-moi mais je vois des truc qui m'intriguent...
              Depuis quand les bots s'amusent-t-ils à décrypter les lettres placés sur les captchas ?
              De plus, chaque captcha est différent ! (Autre url d'image selon les sites, autre extension parfois etc.)
              Je crois qu'il ne faut pas jouer aux fous non plus.
              Vos traits pardessus les lettre (ou dessous) je ne comprend pas du tout l'utilité ça rend la lecture plus complexe et niveau estétique chacuns ces gouts...

              Alors si ce que j'ai dit plus haut est faux, je suis ouvert à la discussion.
              • Partager sur Facebook
              • Partager sur Twitter
                9 août 2007 à 9:54:53

                Depuis quand les bots s'amusent-t-ils à décrypter les lettres placés sur les captchas ?
                Depuis que le spam et les emmerdeurs ( désolé pour le mot, mais c'est bien ca ) existents !

                Je te renvoie au message suivant : http://www.siteduzero.com/forum-83-170810-1605489.html#r1605489
                • Partager sur Facebook
                • Partager sur Twitter
                  9 août 2007 à 11:04:20

                  allez hop un ptit catpcha realisé vite fait pour l'occase :

                  EDIT : version 2 !

                  1. <?php
                  2. //la chaine de texte
                  3. $text="AbcD56";
                  4. //image vide
                  5. $image=imagecreatetruecolor(300,100);
                  6. // definition des couleurs
                  7. $bleu=imagecolorallocate($image, 31, 31, 201);
                  8. $rouge=imagecolorallocate($image, 201, 31, 31);
                  9. $vert=imagecolorallocate($image, 31, 151, 31);
                  10. $blanc=imagecolorallocate($image, 200, 200, 200);
                  11. //les memes avec un peu de transparence
                  12. $bleualpha=imagecolorallocatealpha($image, 31, 31, 201, 80);
                  13. $rougealpha=imagecolorallocatealpha($image, 201, 21, 21, 50);
                  14. $vertalpha=imagecolorallocatealpha($image, 31, 201, 31, 50);
                  15. $blancalpha=imagecolorallocatealpha($image, 220, 220, 220, 50);
                  16. //les memes avec un peu moins de transparence
                  17. $bleualpha2=imagecolorallocatealpha($image, 31, 31, 241, 20);
                  18. $rougealpha2=imagecolorallocatealpha($image, 201, 21, 21, 20);
                  19. $vertalpha2=imagecolorallocatealpha($image, 11, 241, 61, 10);
                  20. $blancalpha2=imagecolorallocatealpha($image, 220, 220, 220, 20);
                  21. //definition des motifs, notez que $motif_top utilise des couleurs avec transparence
                  22. $motif_top = Array($vertalpha, $blancalpha, $rougealpha, $blancalpha, $blancalpha,  $bleualpha, $bleualpha);
                  23. $motif_fond = Array($vert, $vert, $vert,$rouge, $vert, $bleu, $bleu, $vert, $blanc, $blanc, $vert, $vert);
                  24. //on remlpit l'image avec le $motif_fond
                  25. imagesetstyle($image, $motif_fond);
                  26. imagefill($image, 0, 0, IMG_COLOR_STYLED);
                  27. // on met les couleurs et les polices pour le texte en tableau, pour choisir aleatoirement plus tard
                  28. $couleurs = array( $bleualpha2, $rougealpha2, $blancalpha2, $vertalpha2);
                  29. $polices = array("gulim.ttc", "Lsansi.ttf", "palab.ttf", "BOOKOSB.TTF");
                  30. //calcul longueur du texte et espacement des caracteres
                  31. $longueur=strlen($text);
                  32. $pas=300/$longueur;
                  33. //on parcourt le texte caractere par caractere
                  34. for ($i=0; $i<$longueur; $i++)
                  35. {
                  36.         $lettre=$text[$i];
                  37.         //angle du caractere aleatoire
                  38.         $angle=mt_rand(-30, 30);
                  39.         //numero2 de couleur aleatoire, qui sera utilisé avec le tableau de couleur défini avant la boucle
                  40.         $couleur1=mt_rand(0,3);
                  41.         $couleur2=mt_rand(0,3);
                  42.         //taille de texte aleatoire
                  43.         $taille=mt_rand(40,60);
                  44.         //numero de police aleatoire
                  45.         $police=mt_rand(0,3);
                  46.         //on definit le decalage entre les 2 caracteres
                  47.         $decalage1=mt_rand(-5,5);
                  48.         $decalage2=mt_rand(-5,5);
                  49.         //on dessine les caracteres, avec les parametres aléatoires
                  50.         imagettftext($image, $taille, $angle, $pas*$i, 80, $couleurs[$couleur1], $polices[$police], $lettre);
                  51.         imagettftext($image, $taille, $angle, $pas*$i+$decalage1, 80+$decalage2, $couleurs[$couleur2], $polices[$police], $lettre);
                  52. }
                  53. //on dessine un motif transparent par dessus le texte pour "brouiller" un peu plus
                  54. imagesetstyle($image, $motif_top);
                  55. imagefilledrectangle($image, 0, 0, 300, 100, IMG_COLOR_STYLED);
                  56. //c'est fini, on dessine l'image
                  57. header("Content-type: image/png");
                  58. imagepng($image);
                  59. ?>


                  et voici le resultat :
                  Image utilisateur

                  ca pete un peu les yeux, mais bon ca reste lisible ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 août 2007 à 11:12:58

                    Moxostoma>>>N'ayant pas de post où tester ton code je vais juste te dire les truc qu'il faut corriger.
                    Pour commencer audébut tu déclare une image $img, et à la fin tu lui dis de te renvoyé une image $image !!? Ou tu adapte tout ton code avec $image ou avec $img.
                    Puis vient imagecolorallocate , il manque des virgules entre $img et ton mt_rand.
                    Une autre faute que j'ai pu voir c'est la variable x avant la fin de la dernière boucle, c'est $x pas x.
                    Et elle est où l'accolade fermante de ta dernière boucle??
                    Bon ça c'est juste ce que j'ai pu voir. Tu refais des test et tu nous tiens au courant.

                    Citation : sbeex

                    Bonjour,
                    excusez-moi mais je vois des truc qui m'intriguent...
                    Depuis quand les bots s'amusent-t-ils à décrypter les lettres placés sur les captchas ?
                    De plus, chaque captcha est différent ! (Autre url d'image selon les sites, autre extension parfois etc.)
                    Je crois qu'il ne faut pas jouer aux fous non plus.
                    Vos traits pardessus les lettre (ou dessous) je ne comprend pas du tout l'utilité ça rend la lecture plus complexe et niveau estétique chacuns ces gouts...

                    Alors si ce que j'ai dit plus haut est faux, je suis ouvert à la discussion.



                    >>

                    Citation : Blackhole

                    Depuis quand les bots s'amusent-t-ils à décrypter les lettres placés sur les captchas ?
                    Depuis que le spam et les emmerdeurs ( désolé pour le mot, mais c'est bien ca ) existents !

                    Je te renvoie au message suivant : http://www.siteduzero.com/forum-83-170810-1605489.html#r1605489



                    Merci blackhole ça doit être la centième foie (j'exagère :p ) que je le répète.

                    >>>>>jaye: Merci de ta participation jaye ton captcha est super, mais ton code manque de commentaire. Ca serais bien si tu le commentais comme ça les zéros pourrons comprendre ce que t'as fais. ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 août 2007 à 12:21:29

                      Salut,

                      Voici le mien :

                      1. <?php
                      2. /***************************************/
                      3. /*** Captcha par bilou89 ***/
                      4. /*** bilou89-4sang@hotmail.fr ***/
                      5. /***************************************/
                      6. session_start(); // Création de la session
                      7. $largeur = 300; // Largeur de l'image
                      8. $hauteur = 60; // Hauteur de l'image
                      9. // Liste des polices utilisées aléatoirement, à placer dans le dossier police/
                      10. $polices = array('polices/trebuc.ttf', 'polices/tahomabd.ttf', 'polices/verdanab.ttf');
                      11. $image = imagecreatetruecolor($largeur, $hauteur); // Création de l'image
                      12. $fond = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur de fond
                      13. imagefill($image, 0, 0, $fond); // Coloration du fond
                      14. /**************************************/
                      15. /***  Traçage des lignes/cercles sur le fond ***/
                      16. /**************************************/
                      17. // 3 lignes vertial
                      18. for($i = 0; $i < 3; $i++)
                      19. {
                      20.         $couleur_ligne = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur de la ligne
                      21.         imagesetthickness($image, mt_rand(1, 4)); // Changement de l'épaisseur de la ligne
                      22.         imageline($image, 0, mt_rand(0, $hauteur), $largeur, mt_rand(0, $hauteur), $couleur_ligne); // Traçage de la ligne
                      23. }
                      24. // 3 lignes horizontal
                      25. for($i = 0; $i < 3; $i++)
                      26. {
                      27.         $couleur_ligne = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur de la ligne
                      28.         imagesetthickness($image, mt_rand(1, 4)); // Changement de l'épaisseur de la ligne
                      29.         imageline($image, mt_rand(0, $largeur), 0, mt_rand(0, $largeur), $hauteur, $couleur_ligne); // Traçage de la ligne
                      30. }
                      31. // 3 cercles
                      32. for($i = 0; $i < 3; $i++)
                      33. {
                      34.         $couleur_ligne = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur du cercle
                      35.         imagesetthickness($image, mt_rand(1, 2)); // Changement de l'épaisseur du cercle
                      36.         imageellipse($image, mt_rand(10, 290), mt_rand(10, 40), mt_rand(5, 60), mt_rand(5, 60), $couleur_ligne); //  Traçage du cercle
                      37. }
                      38. imagesetthickness($image, 1); // Remise de l'épaisseur des lignes, cercles, ... à 1px
                      39. /**************************************/
                      40. /*** Traçage des caractères sur le fond ***/
                      41. /**************************************/
                      42. $couleur_lettres = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur des lettres de fond
                      43. $nb_caracteres = 20; // Nombre de caractères citués au fond
                      44. $lettres = 'abcdefghijklmnopqrstuvwxyz-+*/@$&éè'; // Caractères utilisés pour les lettres de fond
                      45. $lettres_melange = strlen($lettres); // Mélange des caractèred
                      46. $x = mt_rand(5, 295); // Définition aléatoire de la position de X
                      47. $y = mt_rand(5, 55); // Définition aléatoire de la position de Y
                      48. $i = 0;
                      49. // Boucle pour déssiner les caractères de fond
                      50. while($i < $nb_caracteres)
                      51. {      
                      52.         $lettre_a_ajouter = $lettres[mt_rand(0, $lettres_melange - 1)]; // Selection de la lettre à ajouter
                      53.         $taille = mt_rand(12, 20); // Définition de la taille de la lettre
                      54.         $angle = mt_rand(0, 180); // Définition de l'angle de la lettre
                      55.         imagettftext($image, $taille, $angle, $x ,$y, $couleur_lettres, realpath($polices[array_rand($polices)]), $lettre_a_ajouter); // Traçage de la lettre
                      56.         $x = mt_rand(5, 295); // Changement de position de X
                      57.         $y = mt_rand(5, 55); // Changement de position de Y
                      58.         $i++; // Inscrémentation de 1
                      59. }
                      60. /**************************************/
                      61. /*** Traçage et création du code ***/
                      62. /**************************************/
                      63. $nb_caracteres = 6; // Nombre de caractères
                      64. $lettres = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'; // Caractères autorisés
                      65. $lettres_melange = strlen($lettres); // Mélange des caractères
                      66. $code = ''; // Création de $code
                      67. $x = mt_rand(2, 20); // Définition aléatoire de X
                      68. $y = ($hauteur / 2) + mt_rand(0, 10); // Definition de Y ~ au milieu de l'image
                      69. $i = 0;
                      70. // Boucle pour dessiner les lettres
                      71. while($i < $nb_caracteres)
                      72. {
                      73.         $lettre_a_ajouter = $lettres[mt_rand(0, $lettres_melange - 1)]; // Selection de la lettres
                      74.         $taille = mt_rand(25,35); // Définition de la taille
                      75.         $angle = mt_rand(-30, 25); // Définition de l'angle
                      76.         $code .=  $lettre_a_ajouter; // Ajout de la lettre dans $code
                      77.         $couleur_lettre = imagecolorallocate($image, mt_rand(150, 255), mt_rand(150, 255), mt_rand(150, 255)); // Selection de la couleur de la lettre
                      78.         imagettftext($image, $taille, $angle, $x, $y, $couleur_lettre, realpath($polices[array_rand($polices)]), $lettre_a_ajouter); // Traçage de la lettre
                      79.         $x += $taille + mt_rand(2, 20); // Changement de position de X
                      80.         $y = ($hauteur / 2) + mt_rand(10, 15); // Petit changement de position de Y
                      81.         $i++; // Incrémentation de 1
                      82. }
                      83. /**************************************/
                      84. /***  Traçage des lignes/cercles sur le devant ***/
                      85. /**************************************/
                      86. // 2 lignes vertial
                      87. for($i = 0; $i < 2; $i++)
                      88. {
                      89.         $couleur_ligne = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur de la ligne
                      90.         imageline($image, 0, mt_rand(0, $hauteur), $largeur, mt_rand(0, $hauteur), $couleur_ligne); // Traçage de la ligne
                      91. }
                      92. // 2 lignes horizontal
                      93. for($i = 0; $i < 2; $i++)
                      94. {
                      95.         $couleur_ligne = imagecolorallocate($image, mt_rand(0, 150), mt_rand(0, 150), mt_rand(0, 150)); // Couleur de la ligne
                      96.         imageline($image, mt_rand(0, $largeur), 0, mt_rand(0, $largeur), $hauteur, $couleur_ligne); // Traçage de la ligne
                      97. }
                      98. $_SESSION['code'] = $code; // Enregistrement du $code dans la session
                      99. header('Content-type: image/png'); // Déclaration de la création d'un image PNG
                      100. imagepng($image); // Création de l'image
                      101. ?>

                      Voici le résultat :
                      Image utilisateur

                      Image utilisateur

                      Image utilisateur

                      EDIT : version en N&B disponible ici
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 août 2007 à 14:09:36

                        Très belle démonstration bilou89, et merci pour la page de test.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 août 2007 à 14:51:53

                          bon j'ai un peu amélioré mon captcha (texte doublé, taille et police aleatoire).

                          voir le code et l'image de démo sur mon premier message que j'ai édité ^^

                          bilou89, pas bete l'idée de mettre des caracteres en fond, de quoi faire perdre la tete a un OCR :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 août 2007 à 16:06:15

                            Bonjour, j'ai corriger toutes mes erreur, mais pour les variable de $image au lieu de $img c'était la fatigue je crois ^^
                            Mais , celà ne marche toujours pas :(

                            PHP me met une erreur :

                            Citation : moi

                            Parse error: syntax error, unexpected $end in /home/florian1/domains/zone-dinogaia.omivu.net/public_html/captcha/crypt.php on line 57



                            1. <?php
                            2. imagedestroy($img);
                            3. ?> //ligne 57


                            Est, je vous poste mon code "corriger"...

                            1. <?php
                            2. session_start(); // Créér la session
                            3. //***********************
                            4. //**Création de l'image**
                            5. //***********************
                            6. $largeur=144;
                            7. $longueur=50;
                            8. $img = imagecreatetruecolor($largeur,$longueur);
                            9. $couleur = imagecolorallocate($img, 51,204,255);
                            10. //***************************
                            11. //**Création des caractères**
                            12. //***************************
                            13. $nombre_de_caractere=6;
                            14. $caractere = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz';
                            15. $police = array('arial.ttf');
                            16. $bord = 3;
                            17. $espace = 10;
                            18. //*************************************
                            19. //**Boucle d'affichage des caractères**
                            20. //*************************************
                            21. for($i = 0; $i < 6; $i++)
                            22. {
                            23. $ligne = imagecolorallocate($img, mt_rand(204,204,102), mt_rand(51,153,51), mt_rand(204,0,0), mt_rand(0,153,153), mt_rand(102,0,0), mt_rand(0,0,0), mt_rand(255,255,255), mt_rand(255,51,153)); //sy ya problème
                            24. imageline($img, 0, mt_rand(0, $longueur), $largeur, mt_rand(0, $longueur), $ligne);
                            25. }
                            26. for($i = 0; $i < 6; $i++)
                            27. {
                            28. $ligne = imagecolorallocate($img, mt_rand(204,204,102), mt_rand(51,153,51), mt_rand(204,0,0), mt_rand(0,153,153), mt_rand(102,0,0), mt_rand(0,0,0), mt_rand(255,255,255), mt_rand(255,51,153)); //sy ya problème
                            29. imageline($img, 0, mt_rand(0, $longueur), $largeur, mt_rand(0, $longueur), $ligne);
                            30. //*************************************
                            31. //**Autres**
                            32. //*************************************
                            33. $x = mt_rand(2,20);
                            34. for($i = 0; $i < $nombre_de_caractere; $i++)
                            35. {
                            36. $code_ajouter = $codes[mt_rand(0,$longueur-1)];
                            37. $lettres .=  $code_ajouter;
                            38. $bordure = mt_rand(-25, 20);
                            39. $taille = mt_rand(25,35);
                            40. $taille_longueur = ($longueur / 2) + ($taille/2);
                            41. $couleur_texte = imagecolorallocate($img, mt_rand(204,204,102), mt_rand(51,153,51), mt_rand(204,0,0), mt_rand(0,153,153), mt_rand(102,0,0), mt_rand(0,0,0), mt_rand(255,255,255), mt_rand(255,51,153));
                            42. imagettftext($img, $taille, $bordure, $x, $taille_longueur, $couleur_texte, $realpath($police[array_rand($police)]), $code_ajouter);
                            43. $x += 1.2 * $taille + mt_rand(0,2);
                            44.  }
                            45. $_SESSION['mycode'] = $mycode;
                            46. header('Content-type: image/png');
                            47. imagepng($img);
                            48. imagedestroy($img);
                            49. ?>



                            Est pour la page d'index ou va être afficher l'image, voici quelque code
                            parce qu'elle ne s'affiche pas :lol:

                            1. <img src="crypt.php"  alt="image captcha anti-bot"/> <br />
                            2.                 Votre code ici : <input type="text" name="verif_code" /><br />


                            1. <?php if (isset($_POST['pseudo']) AND isset($_POST['message']) AND isset($_POST['verif_code']) AND $_POST['verif_code']==$_SESSION['mycode'])?>

                            PS: J'ai mis un session_start en haut de l'index ;)
                            est c'est pour mettre dans la page de mon livre d'or "le captcha" :)

                            Merci :D
                            • Partager sur Facebook
                            • Partager sur Twitter
                              9 août 2007 à 16:47:04

                              J'ai un peu amélioré mon code du début,dites moi quel style vous préférez:
                              1)Image utilisateur2)Image utilisateur3)Image utilisateur
                              1)=traits aléatoires + écriture dans la même couleur
                              2)=traits aléatoires + écriture dans une couleur aléatoire
                              3)=traits aléatoires + écriture dans une couleur aléatoire + fusion de fond
                              • Partager sur Facebook
                              • Partager sur Twitter
                                9 août 2007 à 16:57:37

                                Je trouve pas tes Captcha très beau, bilou89, par contre ils doivent être très efficaces ;) Bravo ^^ !

                                Ok, voilà mon code ^^ ! Seul les 9 premières variables sont à modifier ;) ! Il est pas commenté mais je pense pas que ce soit nécéssaire, si ?
                                ( Notez aussi que je l'ai pas relu pour voir s'il était optimisé ;) )

                                1. <?php
                                2. /**************************
                                3. *** Captcha PAR Blackhole ***
                                4. **************************/
                                5. header('Content-type: image/png');
                                6. $alphabet = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890@!()[]{}=#@+-&$!?:');
                                7. $largeur_image = 300;
                                8. $hauteur_image = 80;
                                9. $nb_caractere_chaine = 5;
                                10. $flottement_couleur = 30;
                                11. $flottement_rotation = 30;
                                12. $nb_cercle = 15;
                                13. $flottement_couleur_cercle = 100;
                                14. $anti_effacement = true;
                                15. $nb_caractere_total = count($alphabet);
                                16. $image = imageCreateTrueColor($largeur_image, $hauteur_image);
                                17. $couleur_fond = array(mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
                                18. $fond = imageColorAllocate($image, $couleur_fond[0], $couleur_fond[1], $couleur_fond[2]);
                                19. imageFilledRectangle($image, 0, 0, $largeur_image, $hauteur_image, $fond);
                                20. for ($i = 0; $i < $nb_caractere_chaine; $i++)
                                21.         $chaine[] = $alphabet[mt_rand(0, $nb_caractere_total-1)];
                                22. if (!$anti_effacement)
                                23. {
                                24.         foreach($chaine as $cle => $caractere)
                                25.         {
                                26.                 $image_lettre = imageCreateTrueColor(100, 100);
                                27.                 imageFill($image_lettre, 0, 0, $fond);
                                28.                 $noir = imageColorAllocate($image_lettre, 0, 0, 0);
                                29.                 $couleur = imageColorAllocate($image_lettre, 255-$couleur_fond[0]+mt_rand(0-$flottement_couleur, $flottement_couleur),
                                30.                                                                                         255-$couleur_fond[1]+mt_rand(0-$flottement_couleur, $flottement_couleur),
                                31.                                                                                         255-$couleur_fond[2]+mt_rand(0-$flottement_couleur, $flottement_couleur));
                                32.                 imageTTFtext($image_lettre, mt_rand(25, 30), 0, 0, 35, $couleur, 'police'. mt_rand(0, 1) .'.ttf', $caractere);
                                33.                 $image_lettre = imageRotate($image_lettre, mt_rand(0-$flottement_rotation, $flottement_rotation), $fond, 0);
                                34.                 imageCopy($image, $image_lettre, $cle*55+5, 0, 0, 0, imagesx($image_lettre)+80, imagesy($image_lettre)+80);
                                35.                 imageDestroy($image_lettre);
                                36.         }
                                37. }
                                38. else
                                39. {
                                40.         foreach($chaine as $cle => $caractere)
                                41.         {
                                42.                 $image_lettre = imageCreateTrueColor(100, 100);
                                43.                 $noir = imageColorAllocate($image_lettre, 0, 0, 0);
                                44.                 $transparent = imageColorAllocateAlpha($image_lettre, 0, 0, 0, 0);
                                45.                 imageColorTransparent($image_lettre, $noir);
                                46.                 $couleur = imageColorAllocate($image_lettre, 255-$couleur_fond[0]+mt_rand(0-$flottement_couleur, $flottement_couleur),
                                47.                                                                                         255-$couleur_fond[1]+mt_rand(0-$flottement_couleur, $flottement_couleur),
                                48.                                                                                         255-$couleur_fond[2]+mt_rand(0-$flottement_couleur, $flottement_couleur));
                                49.                 imageTTFtext($image_lettre, mt_rand(25, 30), 0, 0, 35, $couleur, 'police'. mt_rand(0, 1) .'.ttf', $caractere);
                                50.                 $image_lettre = imageRotate($image_lettre, mt_rand(0-$flottement_rotation, $flottement_rotation), $transparent, 1);
                                51.                 imageCopyMerge($image, $image_lettre, $cle*55+5, 0, 0, 0, imagesx($image_lettre)+80, imagesy($image_lettre)+80, 100);
                                52.                 imageDestroy($image_lettre);
                                53.         }
                                54. }
                                55. for ($i = 0; $i < $nb_cercle; $i++)
                                56. {
                                57.         $couleur = imageColorAllocate($image, 255-$couleur_fond[0]+mt_rand(0-$flottement_couleur_cercle, $flottement_couleur_cercle),
                                58.                                                                                 255-$couleur_fond[1]+mt_rand(0-$flottement_couleur_cercle, $flottement_couleur_cercle),
                                59.                                                                                 255-$couleur_fond[2]+mt_rand(0-$flottement_couleur_cercle, $flottement_couleur_cercle));
                                60.         $valeur_largeur = array(mt_rand(-50, 0), mt_rand($largeur_image, $largeur_image+50));
                                61.         $valeur_hauteur = array(mt_rand(-50, 0), mt_rand($hauteur_image, $hauteur_image+50));
                                62.         imageSetThickness($image, 2);
                                63.         imageEllipse($image, $valeur_largeur[mt_rand(0, 1)], $valeur_hauteur[mt_rand(0, 1)],
                                64.                                 mt_rand(30, 500), mt_rand(100, 500), $couleur);
                                65. }
                                66. imagePng($image);
                                67. ?>
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  9 août 2007 à 17:13:00

                                  Blackhole on veut voir une image de démo ! :p

                                  wonerz ton captcha est tres bien, mais les lettres sont trop melangées, on ne sait pas dans quel ordre les recopier :euh:
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    9 août 2007 à 22:20:23

                                    :colere2::colere:JAYE :colere::colere2:
                                    J'ai vu ton site, et tu travaille sur le même projet que moi :colere2::colere: .
                                    Je te conseil de fermer ton site sinon Image utilisateur.
                                    (mais non je rigole, mon site est beaucoup mieux, et je te détronerai bien avant que tu n'ai le temp de dire Ouf :p )

                                    Ben sinon les gars vos captchas sont très beau
                                    >>>>>>Wonrez: tes captchas font un peu trop aléatoire. On reconnait plus le haut du bas, ni le commencement de la fin. Essaie de les modifier un peu celà fera serais mieux.
                                    Merci blackhole de contribuer avec le code source de ta page. Ca aurais été mieux si il étais commenté mais bon.
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      9 août 2007 à 22:23:42

                                      Ca se lit normalement,de la lettre la plus à gauche à la lettre la plus à droite ^^
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        9 août 2007 à 23:27:05

                                        Et bien si tu pouvais tout simplement abaisser un peu la largeur du jeu celà serai très bien.
                                        Par exemple le $y pourrait être choisi dans un champ de longueur de 5 ou 6pixel.
                                        Sinon faudras agrandir l'espacement entre les lettres.
                                        Ce n'est qu'un avis biensûr, à discuter
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          10 août 2007 à 8:29:21

                                          Citation : tnsaad

                                          :colere2::colere:JAYE :colere::colere2:
                                          J'ai vu ton site, et tu travaille sur le même projet que moi :colere2::colere: .
                                          Je te conseil de fermer ton site sinon Image utilisateur.

                                          (mais non je rigole, mon site est beaucoup mieux, et je te détronerai bien avant que tu n'ai le temp de dire Ouf :p )

                                          :lol::lol::lol:
                                          je n'ai qu'un mot a dire : preum's ! :p
                                          ispice de copieur va !
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 août 2007 à 18:05:48

                                            Citation : Blackhole

                                            Je trouve pas tes Captcha très beau, bilou89 [...]


                                            Cela vient surement du fait que tout ce qui est affiché est aléatoirement, je ne contrôle rien, c'est comme si je vidais par terre un carton avec plein d'objet dedans. De plus les couleurs (qui sont aussi aléatoires) peuvent parfois être plus moches que d'autres.

                                            Peut-être préféra-tu en noir et blanc ?
                                            Donne ton avis sur cela, j'ai juste modifié les couleurs, la disposition des éléments reste basé sur le même système : dans tout les sens :p .

                                            Image utilisateur
                                            ----------------------------------------------------------------
                                            Image utilisateur
                                            ----------------------------------------------------------------
                                            Image utilisateur


                                            Code source de la version N&B :
                                            1. <?php
                                            2. /***************************************/
                                            3. /*** Captcha par bilou89 ***/
                                            4. /*** bilou89-4sang@hotmail.fr ***/
                                            5. /***************************************/
                                            6. session_start(); // Création de la session
                                            7. $largeur = 300; // Largeur de l'image
                                            8. $hauteur = 60; // Hauteur de l'image
                                            9. // Liste des polices utilisées aléatoirement, à placer dans le dossier police/
                                            10. $polices = array('polices/trebuc.ttf', 'polices/tahomabd.ttf', 'polices/verdanab.ttf');
                                            11. $image = imagecreatetruecolor($largeur, $hauteur); // Création de l'image
                                            12. $fond = imagecolorallocate($image, 255, 255, 255); // Couleur de fond
                                            13. imagefill($image, 0, 0, $fond); // Coloration du fond
                                            14. /**************************************/
                                            15. /***  Traçage des lignes/cercles sur le fond ***/
                                            16. /**************************************/
                                            17. // 3 lignes vertial
                                            18. for($i = 0; $i < 3; $i++)
                                            19. {
                                            20.         $couleur = mt_rand(190, 240);
                                            21.         $couleur_ligne = imagecolorallocate($image, $couleur, $couleur, $couleur); // Couleur de la ligne
                                            22.         imagesetthickness($image, mt_rand(1, 4)); // Changement de l'épaisseur de la ligne
                                            23.         imageline($image, 0, mt_rand(0, $hauteur), $largeur, mt_rand(0, $hauteur), $couleur_ligne); // Traçage de la ligne
                                            24. }
                                            25. // 3 lignes horizontal
                                            26. for($i = 0; $i < 3; $i++)
                                            27. {
                                            28.         $couleur = mt_rand(190, 240);
                                            29.         $couleur_ligne = imagecolorallocate($image, $couleur, $couleur, $couleur); // Couleur de la ligne
                                            30.         imagesetthickness($image, mt_rand(1, 4)); // Changement de l'épaisseur de la ligne
                                            31.         imageline($image, mt_rand(0, $largeur), 0, mt_rand(0, $largeur), $hauteur, $couleur_ligne); // Traçage de la ligne
                                            32. }
                                            33. // 3 cercles
                                            34. for($i = 0; $i < 3; $i++)
                                            35. {
                                            36.         $couleur = mt_rand(190, 240);
                                            37.         $couleur_ligne = imagecolorallocate($image, $couleur, $couleur, $couleur); // Couleur du cercle
                                            38.         imagesetthickness($image, mt_rand(1, 2)); // Changement de l'épaisseur du cercle
                                            39.         imageellipse($image, mt_rand(10, 290), mt_rand(10, 40), mt_rand(5, 60), mt_rand(5, 60), $couleur_ligne); //  Traçage du cercle
                                            40. }
                                            41. imagesetthickness($image, 1); // Remise de l'épaisseur des lignes, cercles, ... à 1px
                                            42. /**************************************/
                                            43. /*** Traçage des caractères sur le fond ***/
                                            44. /**************************************/
                                            45. $couleur = mt_rand(160, 190);
                                            46. $couleur_lettres = imagecolorallocate($image, $couleur, $couleur, $couleur); // Couleur des lettres de fond
                                            47. $nb_caracteres = 20; // Nombre de caractères citués au fond
                                            48. $lettres = 'abcdefghijklmnopqrstuvwxyz-+*/@$&éè'; // Caractères utilisés pour les lettres de fond
                                            49. $lettres_melange = strlen($lettres); // Mélange des caractèred
                                            50. $x = mt_rand(5, 295); // Définition aléatoire de la position de X
                                            51. $y = mt_rand(5, 55); // Définition aléatoire de la position de Y
                                            52. $i = 0;
                                            53. // Boucle pour déssiner les caractères de fond
                                            54. while($i < $nb_caracteres)
                                            55. {       
                                            56.         $lettre_a_ajouter = $lettres[mt_rand(0, $lettres_melange - 1)]; // Selection de la lettre à ajouter
                                            57.         $taille = mt_rand(12, 20); // Définition de la taille de la lettre
                                            58.         $angle = mt_rand(0, 180); // Définition de l'angle de la lettre
                                            59.         imagettftext($image, $taille, $angle, $x ,$y, $couleur_lettres, realpath($polices[array_rand($polices)]), $lettre_a_ajouter); // Traçage de la lettre
                                            60.         $x = mt_rand(5, 295); // Changement de position de X
                                            61.         $y = mt_rand(5, 55); // Changement de position de Y
                                            62.         $i++; // Inscrémentation de 1
                                            63. }
                                            64. /**************************************/
                                            65. /*** Traçage et création du code ***/
                                            66. /**************************************/
                                            67. $nb_caracteres = 6; // Nombre de caractères
                                            68. $lettres = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'; // Caractères autorisés
                                            69. $lettres_melange = strlen($lettres); // Mélange des caractères
                                            70. $code = ''; // Création de $code
                                            71. $x = mt_rand(2, 20); // Définition aléatoire de X
                                            72. $y = ($hauteur / 2) + mt_rand(0, 10); // Definition de Y ~ au milieu de l'image
                                            73. $i = 0;
                                            74. // Boucle pour dessiner les lettres
                                            75. while($i < $nb_caracteres)
                                            76. {
                                            77.         $lettre_a_ajouter = $lettres[mt_rand(0, $lettres_melange - 1)]; // Selection de la lettres
                                            78.         $taille = mt_rand(25,35); // Définition de la taille
                                            79.         $angle = mt_rand(-30, 25); // Définition de l'angle
                                            80.         $code .=  $lettre_a_ajouter; // Ajout de la lettre dans $code
                                            81.         $couleur = mt_rand(0, 150);
                                            82.         $couleur_lettre = imagecolorallocate($image, $couleur, $couleur, $couleur); // Selection de la couleur de la lettre
                                            83.         imagettftext($image, $taille, $angle, $x, $y, $couleur_lettre, realpath($polices[array_rand($polices)]), $lettre_a_ajouter); // Traçage de la lettre
                                            84.         $x += $taille + mt_rand(2, 20); // Changement de position de X
                                            85.         $y = ($hauteur / 2) + mt_rand(10, 15); // Petit changement de position de Y
                                            86.         $i++; // Incrémentation de 1
                                            87. }
                                            88. /**************************************/
                                            89. /***  Traçage des lignes/cercles sur le devant ***/
                                            90. /**************************************/
                                            91. // 2 lignes vertial
                                            92. for($i = 0; $i < 2; $i++)
                                            93. {
                                            94.         $couleur = mt_rand(190, 240);
                                            95.         $couleur_ligne = imagecolorallocate($image, $couleur, $couleur, $couleur); // Couleur de la ligne
                                            96.         imageline($image, 0, mt_rand(0, $hauteur), $largeur, mt_rand(0, $hauteur), $couleur_ligne); // Traçage de la ligne
                                            97. }
                                            98. // 2 lignes horizontal
                                            99. for($i = 0; $i < 2; $i++)
                                            100. {
                                            101.         $couleur = mt_rand(190, 240);
                                            102.         $couleur_ligne = imagecolorallocate($image, $couleur, $couleur, $couleur); // Couleur de la ligne
                                            103.         imageline($image, mt_rand(0, $largeur), 0, mt_rand(0, $largeur), $hauteur, $couleur_ligne); // Traçage de la ligne
                                            104. }
                                            105. $_SESSION['captcha'] = $code; // Enregistrement du $code dans la session
                                            106. header('Content-type: image/png'); // Déclaration de la création d'un image PNG
                                            107. imagepng($image); // Création de l'image
                                            108. imagedestroy();
                                            109. ?>
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              16 août 2007 à 9:43:16

                                              Je ne contrôle pas grand chose non plus ^^ !

                                              T'a raison, ca dépend de la couleur de fond je crois, donc c'est entièrement subjectif ;) ! En noir et blanc c'est trop peu ... coloré ... :euh:

                                              En tout cas, encore une fois, bravo !
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                16 août 2007 à 15:51:51

                                                salut
                                                j'aimerais poser une question un peut ... :euh:
                                                a quoi servent toutes ces ratures, inclinaison ... esque ca les rends plus sure? ou esque question securité c'est la meme chose que un code generer mis sur une image et afficher ???
                                                merci a vous
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  17 août 2007 à 1:00:47

                                                  je viens de tout lire,
                                                  merci pour ton éclaircissement
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    17 août 2007 à 10:52:50

                                                    me revoila avec une nouvelle version :p

                                                    1. <?php
                                                    2. //la chaine de texte
                                                    3. $text="AbcD56";
                                                    4. //image vide
                                                    5. $image=imagecreatetruecolor(300,100);
                                                    6. // definition des couleurs
                                                    7. $bleu=imagecolorallocate($image, 31, 31, 201);
                                                    8. $rouge=imagecolorallocate($image, 201, 31, 31);
                                                    9. $vert=imagecolorallocate($image, 31, 151, 31);
                                                    10. $blanc=imagecolorallocate($image, 200, 200, 200);
                                                    11. //les memes avec un peu de transparence
                                                    12. $bleualpha=imagecolorallocatealpha($image, 31, 31, 201, 80);
                                                    13. $rougealpha=imagecolorallocatealpha($image, 201, 21, 21, 50);
                                                    14. $vertalpha=imagecolorallocatealpha($image, 31, 201, 31, 50);
                                                    15. $blancalpha=imagecolorallocatealpha($image, 220, 220, 220, 50);
                                                    16. //les memes avec un peu moins de transparence
                                                    17. $bleualpha2=imagecolorallocatealpha($image, 31, 31, 241, 20);
                                                    18. $rougealpha2=imagecolorallocatealpha($image, 201, 21, 21, 20);
                                                    19. $vertalpha2=imagecolorallocatealpha($image, 11, 241, 61, 10);
                                                    20. $blancalpha2=imagecolorallocatealpha($image, 220, 220, 220, 20);
                                                    21. //definition des motifs, notez que $motif_top utilise des couleurs avec transparence
                                                    22. $motif_top = Array($vertalpha, $blancalpha, $rougealpha, $blancalpha, $blancalpha,  $bleualpha, $bleualpha);
                                                    23. $motif_fond = Array($vert, $vert, $vert,$rouge, $vert, $bleu, $bleu, $vert, $blanc, $blanc, $vert, $vert);
                                                    24. shuffle($motif_fond);
                                                    25. shuffle($motif_top);
                                                    26. //on remlpit l'image avec le $motif_fond
                                                    27. imagesetstyle($image, $motif_fond);
                                                    28. imagefill($image, 0, 0, IMG_COLOR_STYLED);
                                                    29. // on met les couleurs et les polices pour le texte en tableau, pour choisir aleatoirement plus tard
                                                    30. $couleurs = array( $bleualpha2, $rougealpha2, $blancalpha2, $vertalpha2);
                                                    31. $polices = array("gulim.ttc", "lsansi.ttf", "palab.ttf", "BOOKOSB.TTF");
                                                    32. //calcul longueur du texte et espacement des caracteres
                                                    33. $longueur=strlen($text);
                                                    34. $pas=300/$longueur;
                                                    35. //on parcourt le texte caractere par caractere
                                                    36. for ($i=0; $i<$longueur; $i++)
                                                    37. {
                                                    38.         $lettre=$text[$i];
                                                    39.         //angle du caractere aleatoire
                                                    40.         $angle=mt_rand(-30, 30);
                                                    41.         //numero2 de couleur aleatoire, qui sera utilisé avec le tableau de couleur défini avant la boucle
                                                    42.         $couleur1=mt_rand(0,3);
                                                    43.         $couleur2=mt_rand(0,3);
                                                    44.         //taille de texte aleatoire
                                                    45.         $taille=mt_rand(40,60);
                                                    46.         //numero de police aleatoire
                                                    47.         $police=mt_rand(0,3);
                                                    48.         //on definit le decalage entre les 2 caracteres
                                                    49.         $decalage1=mt_rand(-5,5);
                                                    50.         $decalage2=mt_rand(-5,5);
                                                    51.         //on dessine les caracteres, avec les parametres aléatoires
                                                    52.         imagettftext($image, $taille, $angle, $pas*$i, 80, $couleurs[$couleur1], $polices[$police], $lettre);
                                                    53.         imagettftext($image, $taille, $angle, $pas*$i+$decalage1, 80+$decalage2, $couleurs[$couleur2], $polices[$police], $lettre);
                                                    54. }
                                                    55. //nouvelle image vide
                                                    56. $image2=imagecreatetruecolor(300,100);
                                                    57. //une copie avec deformation, pour brouiller les contours
                                                    58. $i=0;
                                                    59. $z=0;
                                                    60. $k=2;
                                                    61. while($i<=110)
                                                    62. {
                                                    63. //hauteur de la copie
                                                    64. $j=mt_rand(1,3);
                                                    65. //taille du decalage horizontal
                                                    66. $d=$i%6;
                                                    67. //copie
                                                    68. imagecopyresampled($image2, $image, $d, $z, 0, $i, 300, $j, 300, $k);
                                                    69. //incrementation
                                                    70. $i=$i+$j;
                                                    71. $z=$i+$k;
                                                    72. }
                                                    73. imagedestroy($image);
                                                    74. //on dessine un motif transparent par dessus le texte pour "brouiller" un peu plus
                                                    75. imagesetstyle($image2, $motif_top);
                                                    76. imagefilledrectangle($image2, 0, 0, 300, 100, IMG_COLOR_STYLED);
                                                    77. //c'est fini, on dessine l'image
                                                    78. header("Content-type: image/png");
                                                    79. imagepng($image2);
                                                    80. ?>


                                                    ce qui donne :
                                                    Image utilisateur
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      17 août 2007 à 23:35:08

                                                      j'adore particulièrement le captcha de bilou89.

                                                      pour le dernier de jaye on ne le voit pas et sa vient de l'adresse (http://localhost/captcha2.php)
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        18 août 2007 à 15:44:54

                                                        Citation : harcher81

                                                        pour le dernier de jaye on ne le voit pas et sa vient de l'adresse (http://localhost/captcha2.php)


                                                        mais quel boulet je fais ! :euh::-°

                                                        voila c'est corrigé !
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        [Galerie] Réalisation de CAPTCHAs

                                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                        • Editeur
                                                        • Markdown