Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Bonjours les zéros.
Pour commencer, c'est quoi un captcha??
Citation : WikipédiaUn Captcha est une forme de test de Turing permettant de différencier de manière automatisée un utilisateur humain d'un ordinateur.
En d'autre mots un captcha c'est l'image un peu bizard qu'on a dû remplir déchiffrer et recopier pendant notre inscription sur le SDZ.
En passant voici un captcha générer par le sdz :
Vous me direz à quoi celà peut bien servir?
Je vous répondrez pour ne pas laisser les bots qui jonchent le web, vous pourrir la vie avec des pubs pour acheter du Viagra à -30% en Tchécoslovaquie
Merci à DeadPixel pour ce merveilleux exemple j'aurais pas trouvé mieux
Il y a sur ce site plusieurs tutoriels qui explique comment faire des captcha simple et rapide.
Ces captchas sont très efficace pour les petits sites, et sont très rapides à générer, mais là n'est pas le problème car le défit s'intéresse plus à la beauté de ces images, qu'à leurs efficacités.
Le défie
Le défie consiste à ce que vous poster votre captchas en faisant bien attention à mettre l'image que génère le captcha. Votre code devras bien sûr être clair et bien commenté.
Il est interdit de poster ici des captchas telecharger sur d'autre site! Vous pouvez par contre vous aider de tutos pour les faire.
Quelle sont les règles?
Tout les coups sont permis. Vous pouvez utilisez n'importe quelle version de PHP ou de GD.
Je n'ai pas encore atteint le cours de m@teo21 sur la manipulation d'image, je quitte le post c'est ça?
Mais no, je demanderais aussi à ceux qui ne font que passer, de prendre le temps de noter sur 20 les captchas qu'ils voient sur ce post.
Ils pourront aussi utiliser ces captchas pour leurs sites, raison pour laquelle le code doit être bien commenté.
Pour vous aider
Voici quelque liens bien utiles pour la création de telles images:
En savoir plus sur les captchas sur Wikipedia
Créer une image de validation de DeadPixel
Faire une image anti-bots facilement de Kermi
Si j'en ai oublié faite le moi savoir par MP.
Sinon pour les liens externe, il y a Google  .
au passage je vous largue mon première essais :
Code : PHP - Afficher / masquer les numéros de ligne<?php
//***********************
//**Création de l'image**
//***********************
//Je définie d'abord la taille de l'image
$width=110;
$height=40;
//Ensuite je l'a crée
$image=imagecreatetruecolor($width,$height);
//L'image de font avec la couleur $couleur1
$couleur1 = imagecolorallocate ($image, $rouge= rand(0, 255), $vert= rand(0, 255), $bleu= rand(0, 255));
imagefill($image,0,0,$couleur1);
//***************************
//**Création des caractères**
//***************************
//Ensuite vient la couleur des caractères $couleur2 qui est fonction de $couleur1
$couleur2= imagecolorallocate($image,255-$rouge,255-$vert,255-$bleu);
//Mon script génere à chaque fois un nombre de caractere
$nbr_caractere= rand(5, 7);
//Chaque caractère auras une taille à lui en 14 et 18 point
$taille_char_min=14;
$taille_char_max=18;
//Ca se sont les caractères autorisés. J'ai enlevé I, J, O, Q, S, U, V, 0, 1 et ce pour leur faible lisibilitée
$char_autorise = 'ABCDEFGHKLMNPRTWXYZ234569';
//La distance entre le bord et le premier caractère
$x = 4;
//L'espace entre les caractères
$inter_space = 18;
//*************************************
//**Boucle d'affichage des caractères**
//*************************************
$i=0;
while($i<$nbr_caractere)
{
//A chaque caractère ses paramètres propre à lui
$caractere_setting[$i]['caractere']= $char_autorise{rand(0, strlen($char_autorise)-1)};
$caractere_setting[$i]['taille']= rand($taille_char_min, $taille_char_max);
$caractere_setting[$i]['angle']= rand(-20, 20);
//Et voilà la fonction que j'utilise : "imagettftext" que j'ai bien cherché et qui est plus adapté pour ce job que "imagestring".
imagettftext($image,$caractere_setting[$i]['taille'],$caractere_setting[$i]['angle'],$x,30,$couleur2,'ELECHA.TTF',$caractere_setting[$i]['caractere']);
$x+=$inter_space;
$i++;
}
//********************************************************
//**Sauvegarde de l'image dans le fichier "captcha.png"**
//********************************************************
imagepng($image, "captcha.png");
?>
Il faudra mettre au coté de ce script la police de caractère ELECHA.TTF telechargeable ici.
Ce script génère des images comme ceci
Tous les captchas du post
| Créateur | Captcha génerer |
|---|
| tnsaad |
 |
| Vizigr0u |
 |
| wonerz |
 |
| tnsaad |
 |
| salegoss |
 |
| OctetsMotion |
 |
| Blackhole |
 |
| jaye |
 |
| bilou89 |
sans aperçue |
| wonerz |
 |
| jaye |
 |
| mwsaz |
 |
| istu5 |
 |
| K-jasi |
 |
| gierschv |
 |
| Chaoxys |
 |
| Stax |
 |
Après celà je n'ai plus qu'à vous souhaiter bonne chance, et bon captchage...
Édité
le 21/09/2007 à 14:54:11
par ilys
|
fooo !
 Groupe : Membres
|
Bonjour, voici à quoi ressemblent mes captcha
Le code source est : Code : PHP<?php
session_start();
$longueur_code = 6;
$lettres = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789';
$longueur = strlen($lettres);
$code = '';
$largeur = 300;
$hauteur = 50;
$police = array('trebuc.ttf', 'tahomabd.ttf', 'verdanab.ttf');
$image = imagecreatetruecolor ($largeur, $hauteur);
$fonce = imagecolorallocate ($image, mt_rand(0, 70), mt_rand(0, 70), mt_rand(0, 70));
//lignes "horizontales" sur le fond
for($i = 0; $i < 6; $i++ )
{
$couleur_ligne = imagecolorallocate ($image, mt_rand(150, 255), mt_rand(150, 255), mt_rand(150, 255));
imageline ($image, 0, mt_rand(0, $hauteur), $largeur, mt_rand(0, $hauteur), $couleur_ligne);
}
//lignes "verticales" sur le fond
for($i = 0; $i < 6; $i++ )
{
$couleur_ligne = imagecolorallocate ($image, mt_rand(150, 255), mt_rand(150, 255), mt_rand(150, 255));
imageline ($image, mt_rand(0, $largeur), 0, mt_rand(0, $largeur), $hauteur, $couleur_ligne);
}
$x = mt_rand(2, 20);
for($i = 0; $i < $longueur_code; $i++ )
{
$lettre_ajouter = $lettres[mt_rand(0, $longueur- 1)];
$code .= $lettre_ajouter;
$angle = mt_rand(- 25, 20);
$taille_police = mt_rand(25, 35);
$hauteur_police = ($hauteur / 2) + ($taille_police/ 2);
$couleur_texte = imagecolorallocate ($image, mt_rand(150, 255), mt_rand(150, 255), mt_rand(150, 255));
imagettftext ($image, $taille_police, $angle, $x, $hauteur_police, $couleur_texte, realpath($police[array_rand($police)]), $lettre_ajouter);
$x += 1. 2 * $taille_police + mt_rand(0, 2);
}
$_SESSION['code'] = $code;
header('Content-type: image/png');
imagepng ($image);
imagedestroy ($image);
?>
Bon en gros une fois qu'on a codé un captcha acceptable, à moins qu'on reçoive la visite d'une paire de bots, on y reviens plus vraiment. Je sais que le mien par a l'avantage d'être bien lisible pour un humain mais le défaut qu'un programme pourrait éventuellement "facilement" détourer les lettres et les analyser étant donné que la couleur de slettres est presque forcément différente de celle du fond. Comme j'utilise en plus des polices génériques...
Mais comme je l'ai dit : tant qu'on est pas embêté par des bots, autant ne pas recoder un captcha tous les 4 matins...
Edit : d'ailleurs en fait mes lignes du fond ne servent à rien puisqu'elles ne sont pas de la même couleur que les lettres :p, c'est juste plus chiant à lire en fait
Édité
le 25/07/2007 à 03:31:28
par Vizigr0u
Une équipe, 4 membres, un projet : Project: HGF
www.fooo.fr
projet d'étudiants de l'EPITA
|
 Groupe : Membres
|
Voilà mon premier code qui date d'aujourd'hui:
Code : PHP<?php
//On crée la session avant tout
session_start();
header ("Content-type: image/png");
############################
### CREATION IMG ALEATOIRE ###
############################
$image = imagecreate (200, 50);
//taux RVB aléatoires
$R= mt_rand(0, 255);
$V= mt_rand(0, 255);
$B= mt_rand(0, 255);
//couleur des caracteres (négatif par rapport au fond)
$R_n= 255- $R;
$V_n= 255- $V;
$B_n= 255- $B;
//génération d'un code aléatoire
$alph= array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
$code= '';
while( strlen($code) < 7 )
{
$code .= $alph[mt_rand(0, 60)];
}
//génération de coordonnées aléatoires
$x= mt_rand(0, 140); #horizontalement
$y= mt_rand(0, 35); #verticalement
//Application
$couleur = imagecolorallocate ($image, $R, $V, $B); #couleur du fond
$couleur_n = imagecolorallocate ($image, $R_n, $V_n, $B_n); #couleur du code
ImageLine ($image, mt_rand(0, 140), mt_rand(0, 35), mt_rand(0, 140), mt_rand(0, 35), $couleur_n); //1er trait
ImageLine ($image, mt_rand(0, 140), mt_rand(0, 35), mt_rand(0, 140), mt_rand(0, 35), $couleur_n); //2eme trait
ImageLine ($image, mt_rand(0, 140), mt_rand(0, 35), mt_rand(0, 140), mt_rand(0, 35), $couleur_n); //3eme trait
ImageLine ($image, mt_rand(0, 140), mt_rand(0, 35), mt_rand(0, 140), mt_rand(0, 35), $couleur_n); //4eme trait
imagestring ($image, 4, $x, $y, $code, $couleur_n); #Code de l'image
#########################
### FUSION AVEC UN FOND ###
#########################
//Chargement des images
$source = imagecreatefromgif ("fond".mt_rand (1, 4). ".gif");
$destination = $image;
//Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx ($source);
$hauteur_source = imagesy ($source);
$largeur_destination = imagesx ($destination);
$hauteur_destination = imagesy ($destination);
//Calcul du placement de la source dans la destination
$destination_x = $largeur_destination - $largeur_source;
$destination_y = $hauteur_destination - $hauteur_source;
//Application
imagecopymerge ($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 60);
//Affichage
imagepng ($destination);
#######################
### PLACEMENT DU CODE ###
#######################
$_SESSION['code_img'] = $code;
?>
Resultats:    ...
Me manque juste une police quand même..
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Ils sont super beau vos captchas vraiment.
J'aime bien le tient vizigrou.
Le tient aussi n'es pas mal du tout wonerz, mais sa serais mieu si les caractères se trouvais au milieux de l'image, sinon les motifs à gauche ne serverait pas à grand chose.
Citation : Vizigr0u
Bon en gros une fois qu'on a codé un captcha acceptable, à moins qu'on reçoive la visite d'une paire de bots, on y reviens plus vraiment.
Comme je l'ai dis, ce post est plus une galerie de création de captchas, ce n'es pas forcément une arsenal de défense que nous sommes en train de montrer.
Et comme tu l'as dis on ne s'amuse pas à codé un captcha tous les jours.
C'est justement la raison pour laquelle j'ai mentionné le mot défis.
Et des défis sur le SDZ sa peut être ou bien un labyrinthe à construire et à le solutionner, ou trouver un algorytme pour solutionné un sudoku.
Cela ne sert pas à grand chose, mais sa nous permet de nous exercer et de nous échanger des idées sur la façon de consevoir de tels algorhytme.
Et voilà à vous maintenant de nous génerer vos plus beau captchas
|
 Groupe : Membres
|
Comment on peut récupéré le code dans l'image dans le captcha de tnsaad ??
J'ai cherché, mais je n'ai pas trouvé...
ODOS STAFF #3
-Va ranger ta chambre !
-NAN !
-sudo va ranger ta chambre
-bon d'accord...
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Ben ta qu'a copier et coller le code que j'ai donné dans un fichier *.php, telecharger la police de caractère et la mettre dans le meme emplacement que ton fichier php, et lancer le fichier grâce à easyphp ou a wamp.
Après que tu ai exécuter ton fichier, cela génère une image captcha.png,
qui se situe dans le même emplacement de la police de caractère et du fichier php.
Une fois que tu ai réussie tout ça dis le moi je te montrerais comment l'installer sur ton site
|
 Groupe : Membres
|
sa y est j'ai fais tout ça, l'image est généré et affiché
ODOS STAFF #3
-Va ranger ta chambre !
-NAN !
-sudo va ranger ta chambre
-bon d'accord...
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Ok
Alors maintenant tu upload la police de caractère sur ton site, et au lieu du code en haut tu crée un fichier nomé crypt.php où tu met ceci :
Code : PHP<?php
session_start(); // Créér la session
//***********************
//**Création de l'image**
//***********************
//Je définie d'abord la taille de l'image
$width= 110;
$height= 40;
//Ensuite je l'a crée
$image=imagecreatetruecolor ($width, $height);
//L'image de font avec la couleur $couleur1
$couleur1 = imagecolorallocate ($image, $rouge= rand(0, 255), $vert= rand(0, 255), $bleu= rand(0, 255));
imagefill ($image, 0, 0, $couleur1);
//***************************
//**Création des caractères**
//***************************
//Ensuite vient la couleur des caractères $couleur2 qui est fonction de $couleur1
$couleur2= imagecolorallocate ($image, 255- $rouge, 255- $vert, 255- $bleu);
//Mon script génere à chaque fois un nombre de caractere
$nbr_caractere= rand(5, 7);
//Chaque caractère auras une taille à lui en 14 et 18 point
$taille_char_min= 14;
$taille_char_max= 18;
//Ca se sont les caractères autorisés. J'ai enlevé I, J, O, Q, S, U, V, 0, 1 et ce pour leur faible lisibilitée
$char_autorise = 'ABCDEFGHKLMNPRTWXYZ234569';
//La distance entre le bord et le premier caractère
$x = 4;
//L'espace entre les caractères
$inter_space = 18;
//*************************************
//**Boucle d'affichage des caractères**
//*************************************
$i= 0;
$code= NULL;
while($i< $nbr_caractere)
{
//A chaque caractère ses paramètres propre à lui
$caractere_setting[$i]['caractere']= $char_autorise{rand(0, strlen($char_autorise)- 1)};
$caractere_setting[$i]['taille']= rand($taille_char_min, $taille_char_max);
$caractere_setting[$i]['angle']= rand(- 20, 20);
//Et voilà la fonction que j'utilise : "imagettftext" que j'ai bien cherché et qui est plus adapté pour ce job que "imagestring".
imagettftext ($image, $caractere_setting[$i]['taille'], $caractere_setting[$i]['angle'], $x, 30, $couleur2, 'ELECHA.TTF', $caractere_setting[$i]['caractere']);
$x+= $inter_space;
$code .= $caractere_setting[$i]['caractere'];
$i++;
}
//********************************************************
//**Sauvergarde de l'image dans le fichier "captcha.png"**
//********************************************************
$_SESSION['code']= $code;
header('Content-type: image/png'); // On définit le type de fichier
header('Cache-Control: no-store, no-cache, must-revalidate'); // L'image ne doit pas être enregistrée dans le cache, puisqu'elle va être changée à chaque fois. Une très belle astuce que j'ai trouvé sur un tuto
imagepng ($image);
imageDestroy ($image); // Détruire l'image
?>
Ce n'est pas finie,
il faut que tu mette ceci dans la page où tu veux que l'image soit affiché:
Code : PHP<?php
session_start();
//Il est impératif que tu commence ta page avec session_start et ne metre rien avant sinon sa marche pas.
?>
<!--Tu met içi tout ton HTML, ton javascript, ton php toute ta page quoi-->
<?php
//tu met ce code là où tu test si la valeur de ton captcha est bien celle entrer par l'utilisateur. Le nom de l'input où l'utilisateur écris le code doit s'appeller "code_verif"
if($_POST['code_verif']== $_SESSION['code'])
{
echo '<p>Votre code est juste'
}
else
{
echo '<p>Votre code est faux'
}
?>
<!--Tu met ça là où tu veut afficher ton image. Bien sûr faut que ce soit entre des balises form, et que tu prévois un bouton submit pour l 'envoie-->
<img src="crypt.php" /><input type="text" name="code_verif" />
<!--Ici si tu continue à mettre se que tu veux -->
|
Do your work. Don't be stupid.
 Groupe : Membres
|
cool ce topic
je vais tenter d'en faire un, enfin moi et GD on s'aime pas trop même si j'ai déjà fait quelques trucs avec, ça va être marrant
enfin, de quoi occuper ma soirée...
Attention, ce post est soumis à un copyright, toute copie ou citation abusive sera sévèrement punie.
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Nous attendons ton captchas avec impatience salegoss.
Si vous pouviez créé des captchas qui soit testable en local sa serais le top, sans session ni rien.
Merci
|
 Groupe : Membres
|
ok merci beaucoup pour ton aide !
Si j'ai un autre problème, je reviens poster ici
@++
ODOS STAFF #3
-Va ranger ta chambre !
-NAN !
-sudo va ranger ta chambre
-bon d'accord...
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
J'ai fais un autre captcha dont je vous fait part :
Code : PHP<?php
//***********************
//**Création de l'image**
//***********************
//Je définie d'abord la taille de l'image
$width= 100;
$height= 30;
//Ensuite je l'a crée
$image=imagecreatetruecolor ($width, $height);
//L'image de font avec la couleur $couleur1
$couleur1 = imagecolorallocate ($image, 255, 255, 255);
imagefill ($image, 0, 0, $couleur1);
//***************************
//**Création des caractères**
//***************************
//Mon script génere à chaque fois un nombre de caractere (4)
$nbr_caractere= 4;
//Chaque caractère auras une taille à lui en 14 et 18 point
$taille_char_min= 14;
$taille_char_max= 18;
//Ca se sont les caractères autorisés. J'ai enlevé I, J, O, Q, S, U, V, 0, 1 et ce pour leur faible lisibilitée
$char_autorise = 'ABCDEFGHKLMNPRTWXYZ234569';
//La distance entre le bord et le premier caractère
$x = 4;
//L'espace entre les caractères
$inter_space = 25;
//*************************************
//**Boucle d'affichage des caractères**
//*************************************
$i= 0;
while($i< $nbr_caractere)
{
//A chaque caractère ses paramètres propre à lui
$caractere_setting[$i]['caractere']= $char_autorise{rand(0, strlen($char_autorise)- 1)};
$caractere_setting[$i]['taille']= rand($taille_char_min, $taille_char_max);
$caractere_setting[$i]['angle']= rand(- 25, 20);
$caractere_setting[$i]['couleur']=imagecolorallocate ($image, $rouge= rand(0, 255), $vert= rand(0, 255), $bleu= rand(0, 255));
//lignes "verticales" sur le fond
$couleur_ligne = imagecolorallocate ($image, $rouge, $vert, $bleu);
imageline ($image, mt_rand($x, $width), 0, mt_rand(0, $width), $height, $couleur_ligne);
//Et voilà la fonction que j'utilise : "imagettftext" que j'ai bien cherché et qui est plus adapté pour ce job que "imagestring".
imagettftext ($image, $caractere_setting[$i]['taille'], $caractere_setting[$i]['angle'], $x, 24, $caractere_setting[$i]['couleur'], 'comic.TTF', $caractere_setting[$i]['caractere']);
$x+= $inter_space;
$code .= $caractere_setting[$i]['caractere'];
$i++;
}
imagecolortransparent ($image, $couleur1); // On rend le fond blanc transparent
//********************************************************
//**Sauvergarde de l'image dans le fichier "captcha.png"**
//********************************************************
imagepng ($image, "captcha.png");
?>
Il a le mérite d'être transparent donc peut se fondre dans n'importe quelle décors.
Il génère des images de ce genre
Vous devez disposez de la police de caractère comic.ttf disponible ici
|
Do your work. Don't be stupid.
 Groupe : Membres
|
Bon voila je poste mon code, rien de très original, je précise juste qu'il ne fait que générer l'image, sans enregistrer le code ou quoi que ce soit (en fait j'ai la flemme  )
Code : PHP<?php
header ("Content-type: image/png");
$largeur = 90;
$hauteur = 40;
$image = imagecreate ($largeur, $hauteur);
$couleur = imagecolorallocate ($image, $rouge= rand(0, 255), $vert= rand(0, 255), $bleu= rand(0, 255));
$i = 0;
$ecart = 10;
$nbr_caractere = rand(5, 7);
$nombrehasard = rand(2, 10);
while ($i< $nbr_caractere)
{
$nombre = rand(0, 9);
$hauteurnombre = rand(0, 25);
$couleur_texte = imagecolorallocate ($image, rand(0, 255), rand(0, 255), rand(0, 255));
imagestring ($image, 5, $ecart, $hauteurnombre, $nombre, $couleur_texte);
$i++;
$ecart = $ecart + 10;
}
while ($nombretraits< $nombrehasard)
{
$couleur_traits = imagecolorallocate ($image, rand(0, 255), rand(0, 255), rand(0, 255));
ImageLine ($image, mt_rand(0, 90), mt_rand(0, 40), mt_rand(0, 90), mt_rand(0, 40), $couleur_traits);
$nombretraits++;
}
imagecolortransparent ($image, $couleur);
imagepng ($image);
?>
ce qui donne:
 (rechargez la page si vous voulez la changer  où cliquez ici c'est plus rapide )
Édité
le 07/08/2007 à 21:32:06
par salegoss
Attention, ce post est soumis à un copyright, toute copie ou citation abusive sera sévèrement punie.
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
C'est un très beau début.
Mais je pense qu'un captcha avec des nombres n'est pas suffisant.
En incluant des lettres, et en jouant sur leurs inclinaisons sa serait parfait.
@+
|
Get over it !
 Groupe : Membres
|
Voir pages 16, nouvelle version !
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...
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Je te l'ai déjà dis une fois ton captcha est très beau
Je me permet d'ajouter l'image qu'il génère car il se peut que tu change ton lien donc le voilà ton captcha:
Encore bravo
|
Get over it !
 Groupe : Membres
|
J'avais pas le gout de prendre une image,
Mais tu l'as fais alors, profitons-en!!
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...
|
Groupe :
|
Le meilleur captcha qu'on peut réaliser sans se casser la tête ET sûrtout éxécutant le code source beaucoup plus rapidement ...
Code : AutreSi vous êtes humain, quel est le résultat de 5 + 9 ? ... 14 !
...
|
Get over it !
 Groupe : Membres
|
J'ai troujours trouvé que l'image faisait plus pro.
De plus, les robot peut toujours lire ça...
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...
|
Groupe :
|
Citation : OctetsMotionJ'ai troujours trouvé que l'image faisait plus pro.
De plus, les robot peut toujours lire ça...
Bon, quand tu auras des sites tels que Microsoft.com ou Fnac.com (sans faire de la pub  ) tu utilisera peut être ces moyens ou plus avancés peut être, mais danc le cas où on se trouve, je crois cela peut être suffisant sans autant alourdir le code source. Chacun à sa façon de le faire après tout  .
|
Do your work. Don't be stupid.
 Groupe : Membres
|
tnsaad j'avais la flemme de mettre des lettres, surtout que je ne m'en servirais jamais...
par contre pour l'inclinaison, j'ai essayé mais pas réussi
Attention, ce post est soumis à un copyright, toute copie ou citation abusive sera sévèrement punie.
|
Get over it !
 Groupe : Membres
|
Je suis d'accord avec toi sur ce point.
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...
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
Citation : x86programmerLe meilleur captcha qu'on peut réaliser sans se casser la tête ET sûrtout éxécutant le code source beaucoup plus rapidement ...
Code : AutreSi vous êtes humain, quel est le résultat de 5 + 9 ? ... 14 !
...  Je ne pense pas que se soit un très bon captchas.
Je te fait tout de suite le code que pourrait utiliser un bot pour trouver le résultat et l'afficher surtout que tout se trouve en claire dans le code source de la page.
Il n'a qu'à lire le premier chiffre qui est exactement le nième caractère de la ligne, puis le second qui est le nième+4 caractère, faire leurs somme, et remplir ton formulaire.
Et si on se casse la tête à faire des trucs que seuls les humains peuvent lire, c'est qu'il y a des bots capables de scanner le captcha, et lui faire une reconnaissance des caractères des plus pointus.
Donc je ne pense pas qu'un bots aussi performant puisse être captcher par un truc aussi débil qu'est ton truc...
|
I'm the Dude
 Groupe : Membres
|
La solution sans images a le mérite d'être accessible  . Et puis, avec des questions de différents types contenant des éléments aléatoires, on peut compliquer les choses pour un programme en gardant la facilité pour les humains. De toutes façons, il existe des programmes de reconnaissance de caractères pour déjouer les captchas en images plus évolués que ceux vus jusqu'ici ( exemple).
EDIT : meilleur exemple de l'efficacité des OCR : http://ocr-research.org.ua/list.html
|
Groupe :
|
Citation : tnsaadCitation : x86programmerLe meilleur captcha qu'on peut réaliser sans se casser la tête ET sûrtout éxécutant le code source beaucoup plus rapidement ...
Code : AutreSi vous êtes humain, quel est le résultat de 5 + 9 ? ... 14 !
...  Je ne pense pas que se soit un très bon captchas.
Je te fait tout de suite le code que pourrait utiliser un bot pour trouver le résultat et l'afficher surtout que tout se trouve en claire dans le code source de la page.
Il n'a qu'à lire le premier chiffre qui est exactement le nième caractère de la ligne, puis le second qui est le nième+4 caractère, faire leurs somme, et remplir ton formulaire.
Et si on se casse la tête à faire des trucs que seuls les humains peuvent lire, c'est qu'il y a des bots capables de scanner le captcha, et lui faire une reconnaissance des caractères des plus pointus.
Donc je ne pense pas qu'un bots aussi performant puisse être captcher par un truc aussi débil qu'est ton truc...
OK  . C'est vrai, on pourrait très vite faire un bot qui détecterait les 2 chiffres en les additionnant. Mais pour que le hackeur se compliquent un peu la vie on pourrait faire d'autres signes aléatoirement (+, -, /, *). Oui, encore une fois la hacker n'aurait pas trop de mal. Cependant je parlais pour un site pas très connu, comme un site personnel quoi. C'est vrai que cela ne concernait pas un site tel que le SiteDuZero et encore moins Microsoft
Alors si le bot sait faire des addtions, pourquoi ne pas utiliser des mots/questions ?  Je peux te dire que tu vas beaucoup travailler là  Questions classiques : J'ai combien de bras ?, J'ai combien de têtes ? ...
Normalement la personne sera répondre à moins qu'il soit... un bot !
|
Get over it !
 Groupe : Membres
|
Tu peux toujours mettre tes addtions dans une image, si le robot la décode, ça ne donnera pas le résultat!
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...
|
Vive le Rock, Linux, et le SDZ
 Groupe : Membres
|
C'est vrai que question accessibilité ce n'est pas au top, mais il existe aussi des solution pour remédier à celà comme des fichiers son ou le contact de l'administrateur quand on est malvoyant ou qqchose comme ça.
Mais je reste sur ma position que c'est la meilleur façon de protéger du spam(Après la solution de s'inscrir dans le site bien sûr).
Et les solutions genre je met un input en hidden ou que je met la somme de nombres à calculer me paraissent trop et je dit bien trop facile à calculer.
Un gamin de 6ans pourrais le faire.
Mais on est pas là pour débattre sur les failles de tous les système, nous sommes là pour créé une galerie de captchas,, et comme je l'ai dis et redis, c'est plus l'aspect pédagogique que peut avoir la création de captchas sur nous qui m'intéresse.
PS : anonymousguest je suis ton plus grand fan surtout après le truc sur le FullText mais bon hors sujet
Édité
le 07/08/2007 à 23:47:07
par ilys
|
Groupe :
|
Citation : tnsaad[...]Et les solutions genre je met un input en hidden ou que je met la somme de nombres à calculer me paraissent trop et je dit bien trop facile à calculer.
Je crois tu confonds un peu là  .
Page 1
Code : PHP$nombre1 = mt_rand(2, 9);
$nombre2 = mt_rand(2, 9);
$resultat = $nombre1 + $nombre2;
$_SESSION['resultat'] = $resultat;
echo "Combien ferait {$nombre1} + {$nombre2} ?"; ...<input type= "text" name= "resultat" />...
Page 2
Code : PHPif (isset($_SESSION['resultat']) && < |