coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 3 déc. 2007 à 21:42
certains sont facilement cassables, d'autres non, persnellement, j'aime bien le captcha de bashfr parce-qu'il est tres difficile de differencier deux lettres
darkturkey
Messages postés2Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 3 décembre 2007 3 déc. 2007 à 16:40
vu ce que t'as fait comme algorithme pour craquer les captchas images je te crois sur parole et je laisse tomber les captchas questions sur le champ :)
j'ai trouvé http://www.cryptographp.com/ quand je regarde le code (j'ai pas tout compris, j'essaye encore), tu vas le casser en 30 minutes
alors, que faire ?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 3 déc. 2007 à 16:30
les deux methodes ne se vallent pas non... suffit de tenter de hacker l'une et l'autre pour s'en rendre compte... le captcha texte dont tu parle resiste dans les 10 minutes... un bon captcha image, perso jen e tenterais pas...
darkturkey
Messages postés2Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 3 décembre 2007 3 déc. 2007 à 10:42
Bonjour,
je ne suis pas un expert en php, j'ai fait captcha "combien font 1 p.l.u.s. 6" avec 1 et 6 des rand(1,10), et jusqu'à aujourd'hui je pensais que c'était la même chose que les images sachant que les 2 méthodes peuvent être casser par les robots.
avez-vous des sites tutoriels pour m'expliquer pourquoi les captchas images qui sont gourmands en ressources, pas adapté au grand public(mal voyant,mal entendant...) et qui sont cassables aussi et meilleur que les captchas questions ? D'après mes recherches les 2 méthodes se valent, mais comme j'ai dit je suis pas un expert et j'aimerais avoir votre avis...
merci
cs_NEVERFORGET
Messages postés21Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention23 juin 2008 3 déc. 2007 à 09:42
Si mon captcha t'intéresse, fais-moi signe.
Il est pas de moi et je sais plus où je l'avais trouvé mais je t'envoie volontiers le script.
Tu peux le voir à cette adresse : http://www.souriredeboncoeur.com/form/commande.php
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 2 déc. 2007 à 14:24
return imagepng($rImage);
imagedestroy ($rImage);
ton imagedestroy(); ne sera jamais exécuté... sinon je ne suis pas sur qu'il soit utile de faire 3 boucles pour récupérer les caractères à utiliser dans la captcha... une chaine ou un tableau prédéfini suffit d'autant plus que ça te permet de trier les caractères qui peuvent être confondu... par ex le O et le 0... .. .
Si tu veux un exemple de captcha visuelle (ou non) difficilement cassable par un bot regarde dans mes sources... .. .
@ tchaOo°
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 28 nov. 2007 à 21:06
c'est un joli regroupement de captcha, perso j'aime bien les captcha texte, et je pense sincerement qu'un texte brouille, avec au moins 50 questions differentes, ayant chacune un bon caractere d'aleatoire, avec la facon de l'afficher plus ou moins hard (cf ma source a ce sujet...) est une tres bonne facon de concevoir un captcha...
sinon, les trucs avec differentes images, c'est pas forcement une mauvaise idee, mais ca consome pas mal de ressources pour rien, et il faut enormement d'images pour que ca soit efficace (recement, je suis tombe sur un captcha qui demandait juste combien faisaient 1+1... et c'est pas rare de trouver ca sur le net...)
waterw72
Messages postés63Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention18 juillet 2008 28 nov. 2007 à 20:24
Ok, J'avoue que j'ai été un peu cavalier en ton égard...
Désolé.
Pourrais-tu alors me conseillé un système "captcha" pour mon site que je pourrais faire moi-même (niveau débutant )?
Que penses-tu de ceci :
http://www.selda-prey.com/article-11997929.html
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 28 nov. 2007 à 16:56
on a 8 ans d'ecart et c'est pas une raison pour m'insulter de la sorte... demander des details aurait suffit....
ton trait bleu te permet de connaitre l'inclinaison de ton texte, un bot peut aisement s'en servire pour rendre au texte son inclinaison normale...
ton flou te permet d'affiner tes lettres en virant ce qui n'est pas bien noir, pour ne garder finalement que l'essentiel, c'est une premiere facon de traiter ca, la seconde c'est le nuage de points... c'est le meme algo que ceux que j'ai casse (tu fais un nuage de points et tu compares avec des lettres connues dans un alphabet de nuages de points....)
waterw72
Messages postés63Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention18 juillet 2008 28 nov. 2007 à 16:02
coucou747 => ...
Hé bien dans ce cas, expliques-moi!
au lieu de critiquer!
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 28 nov. 2007 à 14:44
ca se casse en une demie heure
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 28 nov. 2007 à 09:07
ouaip, je devais pas etre réveiller :(
waterw72
Messages postés63Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention18 juillet 2008 28 nov. 2007 à 08:27
Garfield90 => ...
C'est pas mieux comme ça pour le contrôle des paramètres :
if ( is_array($aTextColor) && count($aTextColor)=== 3 ){ // si c'est un tableau de 3
for($i=0; $i<3;$i++){
if ( $aTextColor[$i] < 0 || $aTextColor[$i] > 255 ){ // si ce n'est pas compris entre 0 et 255
$aTextColor[$i] = 0; // on met à zéro
}
}
}else { // c'est pas un tableau de 3
$aTextColor = array(0,0,0);
}
cs_garfield90
Messages postés388Date d'inscriptionlundi 7 juillet 2003StatutWebmasterDernière intervention10 février 2009 27 nov. 2007 à 16:49
Salut,
tu utilises 3 fois :
if (!is_string($sTextColor) || substr_count($sTextColor, ',') != 2) {
$sTextColor = "0,0,0"; // texte en noir
}else {
//couleur du texte
$aText_color = "";
$aText_color = explode(',', $sTextColor);
}
ce qui est un probleme de conception, si tu modifie le premier, tu devras le répercuter dans les autres (source d'oubli et d'erreur)
En plus, tu ne verifie pas que les valeurs fournies sont correctes
comme ca tu es sur que tes valeurs sont numériques et comprises entre 0 et 255
de plus, tu devrais faire un, en début de fonction
if ( function_exists('imagecreatetruecolor') ){
return false;
}
au lieu de
$rImage = @imagecreatetruecolor ($iWidth, $iHeight)
or die ("Impossible de crée un flux d'image GD");
ca permet :
- eviter de faire des traitements inutiles
- utilisation du @, qui est "gourmand" en ressource
Evite aussi le die, car ca interrompt ton script et ce n'est pas forcement utile et montre un manque de professionalisme du créateur ^^
Evite de mettre du HTML dans tes codes de fonctions/classes, mais ca on te la déja dit :P
Question, tu n'as pas des problemes de place en ce qui concerne les images/fichiers générés ?
tu devrais plutot retourne le contenu :
Comme ca, tu pourrais faire un :
captcha.php :
<?php
include captcha.class.php // fichier ou sont mes fonctions de création de captcha
header('Content-type: img/png'); // c'est un exemple, je le connais pas par coeur :'(
captcha::generate(5,array(0,0,0),array(255,255,255),array(0,250,125));
Ca te permet de ne pas creer de fichier pour stocker ton image, un bon petit gain de place, non :)
cs_lowkey
Messages postés260Date d'inscriptionjeudi 31 mai 2007StatutMembreDernière intervention 5 novembre 20101 27 nov. 2007 à 16:03
Source simpa.
Problème : les robots utilisant un OCR n'auront aucun mal à lire ton code. Tu devrait déformer ton texte et ajouter des 'parasites'.
3 déc. 2007 à 21:42
3 déc. 2007 à 16:40
j'ai trouvé http://www.cryptographp.com/ quand je regarde le code (j'ai pas tout compris, j'essaye encore), tu vas le casser en 30 minutes
alors, que faire ?
3 déc. 2007 à 16:30
3 déc. 2007 à 10:42
je ne suis pas un expert en php, j'ai fait captcha "combien font 1 p.l.u.s. 6" avec 1 et 6 des rand(1,10), et jusqu'à aujourd'hui je pensais que c'était la même chose que les images sachant que les 2 méthodes peuvent être casser par les robots.
avez-vous des sites tutoriels pour m'expliquer pourquoi les captchas images qui sont gourmands en ressources, pas adapté au grand public(mal voyant,mal entendant...) et qui sont cassables aussi et meilleur que les captchas questions ? D'après mes recherches les 2 méthodes se valent, mais comme j'ai dit je suis pas un expert et j'aimerais avoir votre avis...
merci
3 déc. 2007 à 09:42
Il est pas de moi et je sais plus où je l'avais trouvé mais je t'envoie volontiers le script.
Tu peux le voir à cette adresse : http://www.souriredeboncoeur.com/form/commande.php
2 déc. 2007 à 14:24
imagedestroy ($rImage);
ton imagedestroy(); ne sera jamais exécuté... sinon je ne suis pas sur qu'il soit utile de faire 3 boucles pour récupérer les caractères à utiliser dans la captcha... une chaine ou un tableau prédéfini suffit d'autant plus que ça te permet de trier les caractères qui peuvent être confondu... par ex le O et le 0... .. .
Si tu veux un exemple de captcha visuelle (ou non) difficilement cassable par un bot regarde dans mes sources... .. .
@ tchaOo°
28 nov. 2007 à 21:06
sinon, les trucs avec differentes images, c'est pas forcement une mauvaise idee, mais ca consome pas mal de ressources pour rien, et il faut enormement d'images pour que ca soit efficace (recement, je suis tombe sur un captcha qui demandait juste combien faisaient 1+1... et c'est pas rare de trouver ca sur le net...)
28 nov. 2007 à 20:24
Désolé.
Pourrais-tu alors me conseillé un système "captcha" pour mon site que je pourrais faire moi-même (niveau débutant )?
Que penses-tu de ceci :
http://www.selda-prey.com/article-11997929.html
28 nov. 2007 à 16:56
http://www.phpcs.com/codes/POURQUOI-CAPTCHA-NE-SONT-ILS-PAS-TOUS-SUR_42153.aspx
on a 8 ans d'ecart et c'est pas une raison pour m'insulter de la sorte... demander des details aurait suffit....
ton trait bleu te permet de connaitre l'inclinaison de ton texte, un bot peut aisement s'en servire pour rendre au texte son inclinaison normale...
ton flou te permet d'affiner tes lettres en virant ce qui n'est pas bien noir, pour ne garder finalement que l'essentiel, c'est une premiere facon de traiter ca, la seconde c'est le nuage de points... c'est le meme algo que ceux que j'ai casse (tu fais un nuage de points et tu compares avec des lettres connues dans un alphabet de nuages de points....)
28 nov. 2007 à 16:02
Hé bien dans ce cas, expliques-moi!
au lieu de critiquer!
28 nov. 2007 à 14:44
28 nov. 2007 à 09:07
28 nov. 2007 à 08:27
C'est pas mieux comme ça pour le contrôle des paramètres :
if ( is_array($aTextColor) && count($aTextColor)=== 3 ){ // si c'est un tableau de 3
for($i=0; $i<3;$i++){
if ( $aTextColor[$i] < 0 || $aTextColor[$i] > 255 ){ // si ce n'est pas compris entre 0 et 255
$aTextColor[$i] = 0; // on met à zéro
}
}
}else { // c'est pas un tableau de 3
$aTextColor = array(0,0,0);
}
27 nov. 2007 à 16:49
tu utilises 3 fois :
if (!is_string($sTextColor) || substr_count($sTextColor, ',') != 2) {
$sTextColor = "0,0,0"; // texte en noir
}else {
//couleur du texte
$aText_color = "";
$aText_color = explode(',', $sTextColor);
}
ce qui est un probleme de conception, si tu modifie le premier, tu devras le répercuter dans les autres (source d'oubli et d'erreur)
En plus, tu ne verifie pas que les valeurs fournies sont correctes
j'aurai plutot fait :
if ( is_array($aTextColor) && coutn($aTextColor)=== 3 ){
$aTextColor = array(0,0,0);
}else{
for($i=0; $i<3;$i++){
if ( $aTextColor[$i] < 0 || $aTextColor[$i] > 255 ){
$aTextColor[$i] = 0;
}
}
}
comme ca tu es sur que tes valeurs sont numériques et comprises entre 0 et 255
de plus, tu devrais faire un, en début de fonction
if ( function_exists('imagecreatetruecolor') ){
return false;
}
au lieu de
$rImage = @imagecreatetruecolor ($iWidth, $iHeight)
or die ("Impossible de crée un flux d'image GD");
ca permet :
- eviter de faire des traitements inutiles
- utilisation du @, qui est "gourmand" en ressource
Evite aussi le die, car ca interrompt ton script et ce n'est pas forcement utile et montre un manque de professionalisme du créateur ^^
Evite de mettre du HTML dans tes codes de fonctions/classes, mais ca on te la déja dit :P
Question, tu n'as pas des problemes de place en ce qui concerne les images/fichiers générés ?
tu devrais plutot retourne le contenu :
Comme ca, tu pourrais faire un :
captcha.php :
<?php
include captcha.class.php // fichier ou sont mes fonctions de création de captcha
header('Content-type: img/png'); // c'est un exemple, je le connais pas par coeur :'(
captcha::generate(5,array(0,0,0),array(255,255,255),array(0,250,125));
Ca te permet de ne pas creer de fichier pour stocker ton image, un bon petit gain de place, non :)
27 nov. 2007 à 16:03
Problème : les robots utilisant un OCR n'auront aucun mal à lire ton code. Tu devrait déformer ton texte et ajouter des 'parasites'.
Bonn continuation !