Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Galerie] Réalisation de CAPTCHAs

On veut les votres

    3 septembre 2007 à 9:47:40

    Non cela ne sert a rien puisque pour verifier le code il faudra bien faire :

    md5($_SESSION['code']) == md5($_POST['verif_code'])

    donc ca revient au même.
    • Partager sur Facebook
    • Partager sur Twitter
      3 septembre 2007 à 10:33:10


      Il va de soit qu'on met aussi à jour le $_SESSION['code'] à chaque nouvelle génération ...
      • Partager sur Facebook
      • Partager sur Twitter
        3 septembre 2007 à 13:04:31

        Ben tu récupères juste la session. Si elle ne passe pas par l'url... C'est qu'elle passe par les cookies :)

        Suffit donc de donner l'id de session au bot, et hop, il passe :)
        • Partager sur Facebook
        • Partager sur Twitter
        Mon profil Github - Zeste de Savoir, pour la beauté du zeste
          3 septembre 2007 à 13:24:52

          Et par conséquent il faut faire un unset($code) à tout les captchas de la gallerie.
          Il faudra aussi prévenir les deux auteurs des tutoriaux sur le sdz que leurs images antibots ne sert pas à grand chose.
          Je te remércie ulried pour cette très belle remarque. :)
          • Partager sur Facebook
          • Partager sur Twitter
            3 septembre 2007 à 14:13:27

            Heu... J'vais passer pour un boulet mais c'est parce que j'ai tres mal dormis cette nuit :

            Quelqu'un pourait m'expliquer ce qui se passe exatement ? J'ai un livre d'or, un chat, une page d'inscription ... que je vais securiser et donc il me faudrait une petite explication merci.

            Ché pas touche compriche, yé né suiche qu'oune piti progamor.
            • Partager sur Facebook
            • Partager sur Twitter
              3 septembre 2007 à 15:16:26

              À la place de faire un unset, il suffit donc de changer la $_SESSION['code'] lors de chaque chargement!

              dans ton code de vérification, tu mets $_SESSION['code']=0;, bien lors de la vérification tu dois vérifié que $_POST['code']!=0 pour être sûr.
              • Partager sur Facebook
              • Partager sur Twitter
                3 septembre 2007 à 15:26:48

                Un bon vieux $_SESSION = array(); et on en parle plus -.-
                • Partager sur Facebook
                • Partager sur Twitter
                Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                  3 septembre 2007 à 15:40:32

                  Citation : Talus

                  Un bon vieux $_SESSION = array(); et on en parle plus -.-



                  Ca pose probleme en cas d'espace membre.


                  Citation : harcher81

                  À la place de faire un unset, il suffit donc de changer la $_SESSION['code'] lors de chaque chargement!

                  dans ton code de vérification, tu mets $_SESSION['code']=0;, bien lors de la vérification tu dois vérifié que $_POST['code']!=0 pour être sûr.



                  Donc je met mon code de captacha et apres la verification du code avec if($_SESSION['code'] = $_POST['code']) je fait un $_SESSION['code'] = NULL ça marche si apres je met if ($_SESSION['code'] == NULL OR $_POST['code'] == NULL) {ne pas mettre de message} ??
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 septembre 2007 à 16:14:49

                    Citation : Amenia

                    Donc je met mon code de captacha et apres la verification du code avec if($_SESSION['code'] = $_POST['code']) je fait un $_SESSION['code'] = NULL ça marche si apres je met if ($_SESSION['code'] == NULL OR $_POST['code'] == NULL) {ne pas mettre de message} ??


                    Pas sûr de ton code, moi je ferrais quelques choses comme cela:
                    1. <?php
                    2. if($_POST['code']===$_SESSION['code'] AND ($_POST['code']!=null AND $_SESSION['code']!=NULL))
                    3. {
                    4. //Ici tout va bien ce n'est pas un robot
                    5. }
                    6. else
                    7. {
                    8. //Oups, c'est un bot ou quelqu'un qui c'est trompé
                    9. }
                    10. $_SESSION['code']=0;//ici on change la variable session ou on la détruit
                    11. ?>
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 septembre 2007 à 19:01:00

                      Citation : Amenia

                      Citation : Talus

                      Un bon vieux $_SESSION = array(); et on en parle plus -.-



                      Ca pose probleme en cas d'espace membre.



                      Et en quoi ? Tu fous même un capcha pour tes membres ? :-°
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                        3 septembre 2007 à 19:30:00

                        je suppose que non, dans mon cas, j,utilise els session pour garder le login e la passe en mémoire, si je fais un $_SESSION = array(); tous les sessions seront vidés donc le membre se trouve déconnecté.

                        Bien que tu as raison, pouruqoi mettre un image anti-bot lorsque c'est un membre connecter qui se présente?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          3 septembre 2007 à 19:46:37

                          Euh... $_SESSION concerne UNIQUEMENT la session du type qui interagitavec le serveur... :p

                          Donc si tu fous un captcha aussi pour tes membres... :-°
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                            3 septembre 2007 à 22:00:02

                            Pourquoi voulez-vous réinitialiser toute la session ??
                            Un simple unset($_SESSION['code']); ne suffit pas ?
                            • Partager sur Facebook
                            • Partager sur Twitter
                              3 septembre 2007 à 22:09:50

                              Citation : Talus

                              Citation : Amenia

                              Citation : Talus

                              Un bon vieux $_SESSION = array(); et on en parle plus -.-



                              Ca pose probleme en cas d'espace membre.



                              Et en quoi ? Tu fous même un capcha pour tes membres ? :-°



                              Ben $_SESSION['Pseudo'] est créée lors de la connexion, elle est réutilisé pour laffichage du lien d'admonistration dans le menu, elle est utilisé pour ne pas que les membre est à rentrer un Captcha ni leurs pseudo dans le tchat, livre d'or...

                              Car oui, je ne met pas de captcha pour mes membres, mais justement, pour differencier un memebre d'un nom membre, il faut bien une session.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                3 septembre 2007 à 23:55:12

                                Ben comment dit tu si tu dois afficher ou non le captcha ? Si la session existe pas, tu peux la détruire... -.-
                                • Partager sur Facebook
                                • Partager sur Twitter
                                Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                                  4 septembre 2007 à 11:26:53

                                  Sinon pour le captcha du Site Du Zero j'ai trouvé une lib qui, configurée par défault donne le même captcha : http://hostmini.free.fr/connexion.php

                                  Et ça donne ça : Image utilisateur
                                  (Non configuré : il y a des otpions audio, de lettres doubles, couleur, tailles, polices TTF...)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    4 septembre 2007 à 19:26:43

                                    Voilà mon captcha:

                                    Le code:
                                    <?php
                                     
                                    header("Content-type: image/png");
                                     
                                    //Nombre de caractères dans l'image
                                    $nombre_aleatoire = mt_rand(5,7);
                                     
                                    //Mesures
                                    $hauteur = 30;
                                    $largeur = $nombre_aleatoire * 20;
                                     
                                    //Création de l'image
                                    $image = imagecreate($largeur,$hauteur);
                                     
                                    //Couleurs
                                    $fond = imagecolorallocate($image, 19,29,64);
                                    $blanc = imagecolorallocate($image,255,255,255);
                                    $orange = imagecolorallocate($image, 255, 128, 0);
                                    $bleuclair = imagecolorallocate($image, 78, 183, 201);
                                    $jaune = imagecolorallocate($image, 228, 214, 27);
                                    $vertclair = imagecolorallocate($image, 107,218,61);
                                    $mauve = imagecolorallocate($image, 196,83,196);
                                    $brun = imagecolorallocate($image, 192,121,86);
                                     
                                    //Arrays
                                    $couleur = array($jaune,$orange,$bleuclair,$vertclair,$mauve,$brun,$blanc);
                                    $chaine = array(0,0,0,0,0,0,0);
                                     
                                    $x = 10;
                                     
                                    //Caractères à afficher + lignes
                                    for($i = 0; $i < $nombre_aleatoire; $i++)
                                    {
                                      //Choix des chiffre au hasard
                                      $chaine[$i] = mt_rand(0,9);
                                      $nbre_couleur = mt_rand(0,6);
                                      $font_size = mt_rand(2,4);
                                      $y = mt_rand(2,9);
                                      
                                      imagestring($image,$font_size,$x,$y,$chaine[$i],$couleur[$nbre_couleur]);
                                      
                                      //Lignes
                                      $size_x = mt_rand(1,2);
                                      $size_y = mt_rand(1,2);
                                      if($size_x == 1)
                                      {
                                        $x1 = mt_rand(0,89);
                                        $x2 = mt_rand(89,$largeur);
                                      }
                                      elseif($size_x == 2)
                                      {
                                        $x1 = mt_rand($largeur,89);
                                        $x2 = mt_rand(89,0);
                                      }
                                      if($size_y == 1)
                                      {
                                        $y1 = mt_rand(0,20);
                                        $y2 = mt_rand(20,30);
                                      }
                                      elseif($size_y == 2)
                                      {
                                        $y1 = mt_rand(30,20);
                                        $y2 = mt_rand(20,0);
                                      }
                                      imageline($image,$x1,$y1,$x2,$y2,$couleur[$nbre_couleur]);
                                      
                                      //On incrémente x
                                      $x = $x + 17;
                                    }
                                     
                                    //Création et destruction de l'image
                                    imagepng($image);
                                    imagedestroy($image);
                                     
                                    ?>
                                    


                                    Le résultat:

                                    Image utilisateur:)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      4 septembre 2007 à 19:57:02

                                      surement que ta pas commencer ta page par session_start().
                                      STP crée un nouveau sujetpour ton problème, je suis sûr que tu trouveras des zéros pour te répondre.
                                      Ce post c'est pour afficher des captchas, et de les noter.
                                      Merci de ta compréhension
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        5 septembre 2007 à 2:00:34

                                        Y'en a qiu s'acharne à pas comprendre.

                                        Mais bon, beau captcha. :D

                                        Bye
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          5 septembre 2007 à 11:34:44

                                          Et les zéros, faudrais peut être qu'on restructure le post vous trouvez pas??
                                          Déjà pour ceux qui aurons des idées de modification de l'introduction ça serai très bien.
                                          Ensuite je pourais édité mon message d'acceuil et y mettre toute les images de captchas du post, avec un lien qui renvoie vers le post de l'auteur.
                                          Vous en pensez quoi??
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            5 septembre 2007 à 22:33:54

                                            tout entièrement d'accord!!
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              5 septembre 2007 à 23:25:46

                                              +2 ! :D

                                              Bref, fais-le, ça facilitera le tout.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                7 septembre 2007 à 17:21:40

                                                Et voilà les gars, j'ai éditer mon premier message allez y faire un petit tour.
                                                Maintenant, si vous pouviez nous faire un réglement pour poster sur ce post celà serai super encore.
                                                Autre chose pour ajouter une entrer dans le tableau veuillez me formuler un message en zcode comme ceci :
                                                1. <code type="zcode">
                                                2.     <ligne>
                                                3.         <cellule>Votre pseudo</cellule>
                                                4.         <cellule><lien url="L'url de votre réponse qui contient le code de l'image"><image>L'URL de l'image</image></lien></cellule>
                                                5.     </ligne>
                                                6. </code>

                                                Merci à vous
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  13 septembre 2007 à 0:47:54

                                                  Citation : tnsaad

                                                  Moi je suis surtout impatient de voir l'un d'entre vous me faire un bot.


                                                  Je veux bien te faire un OCR si c'est pas à des fins de flood... (en gros ça sort pas du sdz)
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    13 septembre 2007 à 1:20:00

                                                    Ça serait cool que tu nous montres le code.

                                                    De cette façon on, pourra tester nos codes.

                                                    bye
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      13 septembre 2007 à 10:53:42

                                                      Tu pourrais faire un OCR, le mettre sur ton hébergeur, et on pourras tester les captchas poster ici pour leurs donner une note de sécurité.
                                                      Vous en pensez quoi??
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        13 septembre 2007 à 18:24:17

                                                        Moi sa m'intéresse :) .

                                                        PS : mouarf j'ai supprimé les exemples de mes captchas, la rentrée ça me réussi pas :( .
                                                        J'édite mes posts pour te redonner des liens tsnaad, tu pourra en mettre un sur ton 1er post ;p .

                                                        EDIT : Voilà, version couleur et N&B (avec une préférence pour le N&B :p ).
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          21 septembre 2007 à 5:45:55

                                                          Image Generee : Image utilisateur

                                                          Code(Commentaires en anglais, puisque le site est en anglais...bah, traduirai si vous comprenez pas :p )
                                                          1. <?php
                                                          2. //Starting the session...Heh :p
                                                          3. //Setting the header, always helps if you want to see the image ^^
                                                          4. header('Content-type: image/png');
                                                          5. //No need for that right now, since we generate the code from anotehr page for more seurity
                                                          6. $code = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
                                                          7. /*Important Stuff*/
                                                          8. $len = strlen($code) - 1;
                                                          9. $codelen = 7;
                                                          10. $newcode = array();
                                                          11. if(isset($_SESSION['answer']) and strlen($_SESSION['answer']) > 1)
                                                          12. {
                                                          13. for($i = 0;$i < strlen($_SESSION['answer']);$i++)
                                                          14. {
                                                          15. array_push($newcode,$_SESSION['answer']{$i});
                                                          16. }
                                                          17. }
                                                          18. if(!isset($_SESSION['answer']) or strlen($_SESSION['answer']) < 2)
                                                          19. {
                                                          20. //Okay, so $_SESSION['answer'] didnt exist, showing 'ERROR'
                                                          21. array_push($newcode,'E');
                                                          22. array_push($newcode,'R');
                                                          23. array_push($newcode,'R');
                                                          24. array_push($newcode,'O');
                                                          25. array_push($newcode,'R');
                                                          26. }
                                                          27. //Setting the size, loading the font and setting teh background!
                                                          28. $image = imagecreate(220,70);
                                                          29. $font = 'inc/arial.ttf';
                                                          30. $fond = imagecolorallocate($image, 0, 0, 0);
                                                          31. //Transparent background!
                                                          32. imagecolortransparent($image, $fond);
                                                          33. //Generating random colors!
                                                          34. $colors = array();
                                                          35. for($i = 0;$i < $codelen;$i++)
                                                          36. {
                                                          37. $colors[$i] = imagecolorallocate($image,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
                                                          38. }
                                                          39. //SHowing the text, FINALLY
                                                          40. for($i = 0;$i < $codelen;$i++)
                                                          41. {
                                                          42. //Random size, random angle, color, font and letter
                                                          43. imagettftext($image,(mt_rand(35,40)),(mt_rand(-10,10)),($i*(mt_rand(30,30))),60,$colors[$i],$font,$newcode[$i]);
                                                          44. }
                                                          45. //Generating random colored pixels
                                                          46. for($i=0;$i < 500;$i++)
                                                          47. {
                                                          48. imagesetpixel($image,mt_rand(1,220),mt_rand(1,70),(imagecolorallocate($image,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150))));
                                                          49. }
                                                          50. //Generating random lines!
                                                          51. for($i=0;$i < 75;$i++)
                                                          52. {
                                                          53. imageline($image,mt_rand(0,200),mt_rand(0,70),mt_rand(0,200),mt_rand(0,70),($fond));
                                                          54. }
                                                          55. imagepng($image);
                                                          56. ?>


                                                          Vous devez definir le $_SESSION['answer'] dans la page ou le formulaire est affiche.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            21 septembre 2007 à 14:56:46

                                                            Et voilà mon post a été édité.
                                                            A l'avenir pour me faciliter la tache essayer de poster votre captcha avec ce code :
                                                            1. <ligne>
                                                            2.         <cellule>Stax</cellule>
                                                            3.         <cellule><lien url="http://www.siteduzero.com/forum-83-170810-1745894.html#r1745894"><image>//user.oc-static.com/files/86001_87000/86268.png</image></lien></cellule>
                                                            4. </ligne>
                                                            • 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