Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Site Web > PHP > [Galerie] Réalisation de CAPTCHAs > Lecture du sujet

[Galerie] Réalisation de CAPTCHAs

On veut les votres

Vous devez être inscrit pour pouvoir poster des messages

Page : Précédente  1  2  3  4  5  6  7  8  9  ...  37  38  39  40  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  4  5  6  7  8  9  ...  37  38  39  40  Suivante
Hors ligne jaye # Posté le 03/09/2007 à 08:37:13
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
je pense que le principe est + simple que ca :

quand on affiche le captcha (a l'affichage du formulaire), un code aléatoire est généré et stocké en session.

quand on valide le formulaire, le code saisi est comparé à celui stocké en session.

tant qu'on affiche pas de nouveau le formulaire, c'est toujours le même code qui reste stocké en session...

bref il suffit d'afficher une fois le formulaire, de noter le code affiché par le captcha, puis de s'arranger pour valider autant de fois qu'on veut le formulaire sans réafficher celui-ci pour flooder le site.

donc en effet la parade est simple, à la validation du formulaire, apres avoir comparé le code saisi, il suffit d'effacer le code stocké en session pour forcer le visiteur à repasser par la case "affichage du formulaire avec génération d'un nouveau code aléatoire".
 
Hors ligne ulried # Posté le 03/09/2007 à 09:47:39
miniwar.fr
Avatar
Groupe : Membres
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.
 
Hors ligne Kolibot # Posté le 03/09/2007 à 10:33:09
euh, non rien en fait
Groupe : Membres

Il va de soit qu'on met aussi à jour le $_SESSION['code'] à chaque nouvelle génération ...

by Koli Postal
 
Hors ligne Talus # Posté le 03/09/2007 à 13:04:30
タルス
Avatar
Groupe : Membres
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 :)
 
Hors ligne ilys # Posté le 03/09/2007 à 13:24:52
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
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. :)

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 
Hors ligne Amenia # Posté le 03/09/2007 à 14:13:27
Je suis un K3v1n5 libre !
Avatar
Groupe : Bannis
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.


Image utilisateur
Image utilisateur
Image utilisateur
 
Hors ligne harcher81 # Posté le 03/09/2007 à 15:16:26
Et oui, c'est moi
Avatar
Groupe : Membres
À 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.

Image utilisateur
Image utilisateur
 
Hors ligne Talus # Posté le 03/09/2007 à 15:26:48
タルス
Avatar
Groupe : Membres
Un bon vieux $_SESSION = array(); et on en parle plus -.-
 
Hors ligne Amenia # Posté le 03/09/2007 à 15:40:32
Je suis un K3v1n5 libre !
Avatar
Groupe : Bannis
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} ??


Image utilisateur
Image utilisateur
Image utilisateur
 
Hors ligne harcher81 # Posté le 03/09/2007 à 16:14:48
Et oui, c'est moi
Avatar
Groupe : Membres
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:
Code : PHP - Afficher / masquer les numéros de ligne
  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. ?>

Image utilisateur
Image utilisateur
 
Hors ligne Talus # Posté le 03/09/2007 à 19:00:59
タルス
Avatar
Groupe : Membres
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 ? :-°
 
Hors ligne harcher81 # Posté le 03/09/2007 à 19:29:59
Et oui, c'est moi
Avatar
Groupe : Membres
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?

Image utilisateur
Image utilisateur
 
Hors ligne Talus # Posté le 03/09/2007 à 19:46:36
タルス
Avatar
Groupe : Membres
Euh... $_SESSION concerne UNIQUEMENT la session du type qui interagitavec le serveur... :p

Donc si tu fous un captcha aussi pour tes membres... :-°
 
Hors ligne bilou89 # Posté le 03/09/2007 à 22:00:02
Groupe : Membres
Pourquoi voulez-vous réinitialiser toute la session ??
Un simple unset($_SESSION['code']); ne suffit pas ?
Édité le 03/09/2007 à 22:00:50 par bilou89

Image utilisateur
 
Hors ligne Amenia # Posté le 03/09/2007 à 22:09:50
Je suis un K3v1n5 libre !
Avatar
Groupe : Bannis
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.


Image utilisateur
Image utilisateur
Image utilisateur
 
Hors ligne Talus # Posté le 03/09/2007 à 23:55:12
タルス
Avatar
Groupe : Membres
Ben comment dit tu si tu dois afficher ou non le captcha ? Si la session existe pas, tu peux la détruire... -.-
 
Hors ligne Vincordi # Posté le 04/09/2007 à 11:26:53
PhpMan `
Avatar
Groupe : Membres
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...)
Édité le 04/09/2007 à 19:32:24 par
Hors ligne Chaoxys # Posté le 04/09/2007 à 19:26:43
Gros zéro :p
Avatar
Groupe : Membres
Voilà mon captcha:

Le code:
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2.  
  3. header("Content-type: image/png");
  4.  
  5. //Nombre de caractères dans l'image
  6. $nombre_aleatoire = mt_rand(5,7);
  7.  
  8. //Mesures
  9. $hauteur = 30;
  10. $largeur = $nombre_aleatoire * 20;
  11.  
  12. //Création de l'image
  13. $image = imagecreate($largeur,$hauteur);
  14.  
  15. //Couleurs
  16. $fond = imagecolorallocate($image, 19,29,64);
  17. $blanc = imagecolorallocate($image,255,255,255);
  18. $orange = imagecolorallocate($image, 255, 128, 0);
  19. $bleuclair = imagecolorallocate($image, 78, 183, 201);
  20. $jaune = imagecolorallocate($image, 228, 214, 27);
  21. $vertclair = imagecolorallocate($image, 107,218,61);
  22. $mauve = imagecolorallocate($image, 196,83,196);
  23. $brun = imagecolorallocate($image, 192,121,86);
  24.  
  25. //Arrays
  26. $couleur = array($jaune,$orange,$bleuclair,$vertclair,$mauve,$brun,$blanc);
  27. $chaine = array(0,0,0,0,0,0,0);
  28.  
  29. $x = 10;
  30.  
  31. //Caractères à afficher + lignes
  32. for($i = 0; $i < $nombre_aleatoire; $i++)
  33. {
  34.   //Choix des chiffre au hasard
  35.   $chaine[$i] = mt_rand(0,9);
  36.   $nbre_couleur = mt_rand(0,6);
  37.   $font_size = mt_rand(2,4);
  38.   $y = mt_rand(2,9);
  39.  
  40.   imagestring($image,$font_size,$x,$y,$chaine[$i],$couleur[$nbre_couleur]);
  41.  
  42.   //Lignes
  43.   $size_x = mt_rand(1,2);
  44.   $size_y = mt_rand(1,2);
  45.   if($size_x == 1)
  46.   {
  47.     $x1 = mt_rand(0,89);
  48.     $x2 = mt_rand(89,$largeur);
  49.   }
  50.   elseif($size_x == 2)
  51.   {
  52.     $x1 = mt_rand($largeur,89);
  53.     $x2 = mt_rand(89,0);
  54.   }
  55.   if($size_y == 1)
  56.   {
  57.     $y1 = mt_rand(0,20);
  58.     $y2 = mt_rand(20,30);
  59.   }
  60.   elseif($size_y == 2)
  61.   {
  62.     $y1 = mt_rand(30,20);
  63.     $y2 = mt_rand(20,0);
  64.   }
  65.   imageline($image,$x1,$y1,$x2,$y2,$couleur[$nbre_couleur]);
  66.  
  67.   //On incrémente x
  68.   $x = $x + 17;
  69. }
  70.  
  71. //Création et destruction de l'image
  72. imagepng($image);
  73. imagedestroy($image);
  74.  
  75. ?>


Le résultat:

Image utilisateur :)
Édité le 04/09/2007 à 22:29:31 par Chaoxys
Hors ligne ilys # Posté le 04/09/2007 à 19:57:01
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
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

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 
Hors ligne Jeremie64 # Posté le 05/09/2007 à 02:00:34
Get over it !
Avatar
Groupe : Membres
Y'en a qiu s'acharne à pas comprendre.

Mais bon, beau captcha. :D

Bye


Coding is more than a job, more than hobby, more than activity, it's a lifestyle !

PHP is a powerful programming language, if you know how to use it...



 
Hors ligne ilys # Posté le 05/09/2007 à 11:34:43
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
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??

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 
Hors ligne jolo2 # Posté le 05/09/2007 à 19:48:57
Avatar
Groupe : Membres
bien :)

[Délire de Geek] Faites chanter votre PC pour Noël
Juste un truk pas de majuscule a jolo2 :D c'est moche ^^ Problème avec mon script de coloration de code
Image utilisateur
Je vous conseille de jouer a ce jeu ;)
 
Hors ligne powange # Posté le 05/09/2007 à 22:33:53
Avatar
Groupe : Membres
tout entièrement d'accord!!

Image utilisateurImage utilisateur

Prouty, Prouta! 2 et 2 ne font pas 3!

Extreme Jonglerie : Association de jongle sur Marseille
Monopoz : Association de monocycle sur Marseille
 
Hors ligne Jeremie64 # Posté le 05/09/2007 à 23:25:45
Get over it !
Avatar
Groupe : Membres
+2 ! :D

Bref, fais-le, ça facilitera le tout.


Coding is more than a job, more than hobby, more than activity, it's a lifestyle !

PHP is a powerful programming language, if you know how to use it...



 
Hors ligne ilys # Posté le 07/09/2007 à 17:21:39
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
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 :
Code : Zcode - Afficher / masquer les numéros de ligne
  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

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 
Hors ligne mwsaz # Posté le 13/09/2007 à 00:47:53
Avatar
Groupe : Membres
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)

Objets innanimés, avez-vous donc une âme?
Qui s'attache à notre âme et nous force à l'aimer.
 
Hors ligne Jeremie64 # Posté le 13/09/2007 à 01:20:00
Get over it !
Avatar
Groupe : Membres
Ça serait cool que tu nous montres le code.

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

bye


Coding is more than a job, more than hobby, more than activity, it's a lifestyle !

PHP is a powerful programming language, if you know how to use it...



 
Hors ligne ilys # Posté le 13/09/2007 à 10:53:42
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
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??

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 
Hors ligne bilou89 # Posté le 13/09/2007 à 18:24:16
Groupe : Membres
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 ).
Édité le 13/09/2007 à 18:58:12 par bilou89

Image utilisateur
 
Hors ligne Stax # Posté le 21/09/2007 à 05:45:54
Et puis pourquoi pas?
Avatar
Groupe : Membres
Image Generee : Image utilisateur

Code(Commentaires en anglais, puisque le site est en anglais...bah, traduirai si vous comprenez pas :p )
Code : PHP - Afficher / masquer les numéros de ligne
  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. }
  19. if(!isset($_SESSION['answer']) or strlen($_SESSION['answer']) < 2)
  20. {
  21. //Okay, so $_SESSION['answer'] didnt exist, showing 'ERROR'
  22. array_push($newcode,'E');
  23. array_push($newcode,'R');
  24. array_push($newcode,'R');
  25. array_push($newcode,'O');
  26. array_push($newcode,'R');
  27. }
  28. //Setting the size, loading the font and setting teh background!
  29. $image = imagecreate(220,70);
  30. $font = 'inc/arial.ttf';
  31. $fond = imagecolorallocate($image, 0, 0, 0);
  32. //Transparent background!
  33. imagecolortransparent($image, $fond);
  34.  
  35. //Generating random colors!
  36. $colors = array();
  37. for($i = 0;$i < $codelen;$i++)
  38. {
  39. $colors[$i] = imagecolorallocate($image,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
  40. }
  41.  
  42.  
  43. //SHowing the text, FINALLY
  44. for($i = 0;$i < $codelen;$i++)
  45. {
  46. //Random size, random angle, color, font and letter
  47. imagettftext($image,(mt_rand(35,40)),(mt_rand(-10,10)),($i*(mt_rand(30,30))),60,$colors[$i],$font,$newcode[$i]);
  48. }
  49.  
  50. //Generating random colored pixels
  51. for($i=0;$i < 500;$i++)
  52. {
  53. imagesetpixel($image,mt_rand(1,220),mt_rand(1,70),(imagecolorallocate($image,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150))));
  54. }
  55. //Generating random lines!
  56. for($i=0;$i < 75;$i++)
  57. {
  58. imageline($image,mt_rand(0,200),mt_rand(0,70),mt_rand(0,200),mt_rand(0,70),($fond));
  59. }
  60.  
  61. imagepng($image);
  62. ?>


Vous devez definir le $_SESSION['answer'] dans la page ou le formulaire est affiche.
Édité le 21/09/2007 à 07:33:05 par Stax

Image utilisateurAvatar chat et adresse e-mail gratuite.(En Français)
Image utilisateurHébegemment de TOUS les type de fichiers gratuit.(En Anglais)
 
Hors ligne ilys # Posté le 21/09/2007 à 14:56:46
Vive le Rock, Linux, et le SDZ
Avatar
Groupe : Membres
Et voilà mon post a été édité.
A l'avenir pour me faciliter la tache essayer de poster votre captcha avec ce code :
Code : Zcode - Afficher / masquer les numéros de ligne
  1. <ligne>
  2.         <cellule>Stax</cellule>
  3.         <cellule><lien url="http://www.siteduzero.com/forum-83-170810-1745894.html#r1745894"><image>http://www.siteduzero.com/uploads/fr/files/86001_87000/86268.png</image></lien></cellule>
  4. </ligne>

Fait par Tn. :soleil:
>>>>>>Mon tuto sur la Recherche séquentielle et dichotomique
>>>>>>Mon topic sur les images anti-bots
Venez signer la PETITION ANTI-CENSURE
 

Retour au forum "PHP" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 98 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0509s (0.0349s)