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  ...  30  31  32  33  34  35  36  37  38  39  40  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : Précédente  1  2  3  ...  30  31  32  33  34  35  36  37  38  39  40  Suivante
Hors ligne treize # Posté le 25/08/2008 à 14:01:45
Beedee's, prochainement...
Avatar
Groupe : Membres
Reprise du dernier message de la page précédente :
Ah oui, mince. >_<
Désolé. :-°

Image utilisateur

Bêta de Beedee's le 1er Avril 2009 !
» Topic de présentation
» Blog de Beedee's






 
Hors ligne Yloy # Posté le 25/08/2008 à 16:05:46
Avatar
Groupe : Membres
Coucou !
J'avais cette idée de captcha depuis longtemps, mais je l'avais pas encore réalisée, voici ce que ça donne :
Image utilisateur

Vos avis ?
Édité le 28/08/2008 à 09:53:46 par Yloy
Hors ligne Torajio Bangani # Posté le 25/08/2008 à 16:18:57
La Main est du genre masculin.
Avatar
Groupe : Membres
L'idée n'est pas mauvaise, mais je pense qu'un bot ciblé pourra repérer les endroits de l'image qui ne changent pas, et ainsi extraire les lettres grises et noires.
Ensuite, il lui suffira d'idolser les seules lettres qu'il voit en entier, c'est-à-dire les lettres noires, et donc le code. Le CAPTCHA est cassé ^^ .

En plus, j'ai dû m'y prendre à deux fois pour lire le code ; les bandes ont tendance à déplacer le regard, ce qui fait qu'on a du mal à compter les suites de nombres identiques (je ne savais pas s'il y avait deux ou trois "3" à la première lecture >_< ).

Pour toute proposition de projet,
la réponse est non.
A Creative World. - Be creative to be different.
Torajio n'est pas un Mogwaï.
 
Hors ligne JaKhris # Posté le 25/08/2008 à 16:48:33
Wait & See
Avatar
Groupe : Membres
L'idée est bonne, le captcha est esthétique et lisible (il faut se concentrer tout de même), mais je ne sais pas s'il restera efficace longtemps face aux bots.
Édité le 25/08/2008 à 16:48:54 par JaKhris

Mes sites : JAKPRO ~ URPRO ~ page Flickr
XHTML, CSS, JS, PHP, MySQL, Graphics, Music & Video Games : This is living ! =D
 
Hors ligne Droup # Posté le 25/08/2008 à 16:55:17
Groupe : Membres
Voici le code de captcha que je vous ai proposé précédemment :
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
session_start();

/****** A changer *******/
$adresse_image="./"; // Adresse des images à utiliser
$font = 'SomeFont.ttf'; // police des caractères
$nbr_lettre=10; // Nombre de lettre à afficher 
$nb_image=12; // Nombre d'images différentes
$nb_minimum_lettre=4; // nombre minimum de lettre valide
/***********************/

$str = ""; //Chaine valide final.

$image_compte = intval($_GET['image']); //Numério de l'image prise en compte

$chaine = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // Chaine de caractères a afficher


header ("Content-type: image/png");

$captcha = imagecreatetruecolor(70*$nbr_lettre,70);
$blanc = imagecolorallocate($captcha, 255, 255, 255);
$noir = imagecolorallocate($captcha, 0, 0, 0);

/*chargement de toutes les images 
Taille : 50*50
Nom : 0.png, 1.png, 2.png, ...*/
for($i=0; $i<$nb_image; $i++){
	$images[$i] = imagecreatetruecolor(70,70);	
	ImageFilledRectangle($images[$i] , 0, 0, 70, 70, $blanc);
	$image = imagecreatefrompng($adresse_image.$i.".png");
	imagecopymerge($images[$i],$image, 5, 5, 0, 0, 50, 50, 100);	
}

// Définission de la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));


$type_image= array();
$nb_image_compte=0;
// Choix des toutes les images à afficher
for($i=0; $i<$nbr_lettre; $i++) 
{
	$rand_image = rand(0, $nb_image-1);
	if($rand_image == $image_compte)
		$nb_image_compte++;
	$type_image[$i]=$rand_image;
}
// Vérification du nombre d'image à prendre encompte
while($nb_image_compte<$nb_minimum_lettre)
{
	$nb = rand(0, $nbr_lettre-1);
	if($type_image[$nb]!= $image_compte)
	{
		$type_image[$nb]= $image_compte;
		$nb_image_compte++;	
	}
}

$image = imagecreatetruecolor (70,70);
// création du captcha
for($i=0; $i<$nbr_lettre; $i++) 
{
	$rand_image = $type_image[$i];
	$image = imagerotate ( $images[$rand_image] , (rand()%180)-90  , $blanc ) ;
	imagecopymerge($captcha,$image, $i*70, 0, 0, 0, 70, 70, 100);	
	
	$car=$chaine[rand()%strlen($chaine)];
	$angle_lettre=(rand()%120)-60;
	imagettftext ( $captcha, 16, $angle_lettre, $i*70+25, 40, $noir, $font,$car );
	if($rand_image == $image_compte)
		$str .= $car;
}

$_SESSION['captcha']=$str;
imagepng($captcha);
?>

Aperçu :
Image utilisateur

Pour l'utiliser :
- Changer les 5 premières variables en fonction de vos besoins et de vos paramètres
- Mettez toutes vos images dans le dossier que vous aurez indiqué, avec le nom : 0.png, 1.png, 2.png, etc. (Taille : 50*50)
- Appellez le captcha de la sorte : captcha.php?image=1
  • - captcha.php : nom de votre script
  • - 1 : Numéro de l'image à afficher (de 0 aux (nombre d'images - 1))

- Au final, la chaine valide est mise dans la variable de session : $_SESSION['captcha']

Voilà. Dîtes moi ce que vous pensez du captcha ?
Hors ligne JaKhris # Posté le 25/08/2008 à 17:03:55
Wait & See
Avatar
Groupe : Membres
Super grand, et facile à cracker pour les bots, il leur suffit de retirer le gris des images de fond et voilà, il a ses lettres en clair. :-/

Mes sites : JAKPRO ~ URPRO ~ page Flickr
XHTML, CSS, JS, PHP, MySQL, Graphics, Music & Video Games : This is living ! =D
 
Hors ligne Droup # Posté le 25/08/2008 à 17:06:16
Groupe : Membres
Non, en fait le but est de ne demander que des lettres d'une certaine image.
Là par exemple toutes les lettres devant un dragon (image à l'appui pour simplifier)
Donc ici : QVCT

Pour ce qui est de la taille, il suffit de réduire les images, et de resserrer un peu le tout.
Édité le 25/08/2008 à 17:08:21 par Droup
Hors ligne TheDead Master # Posté le 25/08/2008 à 17:15:58
4 8 15 16 23 42
Avatar
Groupe : Membres
Citation : Droup
Là par exemple toutes les lettres devant un dragon (image à l'appui pour simplifier)


Si tu mets l'image, je pense que les bots peuvent s'en servir pour casser le captcha.

Je n'ai plus internet depuis septembre 2008 pour une durée indéterminée.

Comité de lutte contre le langage sms et les fautes volontaires sur Internet.
 
Hors ligne Droup # Posté le 25/08/2008 à 17:21:57
Groupe : Membres
Un bot ciblé peut-être, mais pas un bot normal. (Enfin je pense)
Mais si maintenant j'ai à faire à un bot ciblé, que je montre l'image ou pas le bot passera quand même dans ce cas, car même si je ne donne que le nom de l'animal, le développeur du bot, créera lui même ses images et fera agir son bot en fonction du nom.

Mais l'avantage de ce captcha, c'est que je peux changer les images à afficher, sans aucun problème.
Édité le 25/08/2008 à 17:23:05 par Droup
Hors ligne lemirandais # Posté le 25/08/2008 à 17:26:30
Ubuntu, Debian, Tiger USER
Avatar
Groupe : Membres
J'ai lu plusieurs choses pour les captchas, mais serait il possible de m'expliquer comment un bot peut lire une image? Je ne comprend pas. Si c'est marqué plus haut, pardon mais j'ai pas tout lu, j'ai lu que 15 pages sur 33.
 
Hors ligne Artefact2 # Posté le 25/08/2008 à 18:05:15
C'est toi le bouc !
Avatar
Groupe : Membres
Citation : Blackhole
Edit : je viens de me rendre compte que j'ai pas félicité Artefact2 pour son Captcha, il me semble très solide, même contre des bots ciblés ( même si j'ai connais pas grand chose en bots, j'ai du mal à imaginer comment on pourrait faire pour craquer son image ), et en bonus il est lisible :p Dommage que ce ne soit que des mots issu d'un dictionnaire : ca apporte pas grand chose à la facilité de lecture je pense, mais ca donne un petit plus à un éventuel cracker ;) . En tout cas moi, je suis fan :p


Merci :ange:

En fait, j'ai choisi les mots d'un dictionnaire pour faciliter la lecture par l'humain. C'est bien plus simple et, même si ça apporte une petite faiblesse, ça permet de proposer un chevauchement de lettres plus prononcé.

Je n'ai plus la source, mais je vais essayer de le refaire. Après tout, je n'ai rien à faire :D

------------------------------------------------------------------------------------------------

Edit : j'ai essayé de le refaire à l'identique, mais en beaucoup plus personnalisable : on peut régler le nombre de barres, ... Voici quelques exemples et le code source.

Sur les images ci-dessous, seules les lignes des paramètres DEFINE ont été changées.
Image utilisateur

Image utilisateur

Image utilisateur

Image utilisateur

Code source :
Secret (cliquez pour afficher)
Code : PHP
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<?php // Artefact2/Freak Man 25/08/2008

// Synopsis : captcha animé. Tout sauf accessible ! :)
require('gifencoder.php');

// Constantes du CAPTCHA
define("WIDTH_PER_LETTER", 15); // Réduisez/augmentez pour des lettres plus serrées/espacées
define("LEFT_MARGIN", 10); // Marge gauche (vide)
define("RIGHT_MARGIN", 10); // Marge droite
define("MARGIN_TOP", 20); // Marge supérieure
define("MARGIN_BOTTOM", 10); // Marge inférieure
define("NUMBER_OF_BARS", 5); // Nombre de barres horizontales perturbant la lecture
define("FONT", "font.ttf"); // Police à utiliser
define("FONT_SIZE", 30); // Taille des lettres
define("LETTER_DURATION", 1); // Durée de défilement de chaque lettre (en secondes)
define("FRAMES_PER_SECOND", 50); // Diminuez ce nombre pour diminuer le temps de génération, mais l'effet de saccade ne facilitera pas la détection de la lettre actuellement fixe
define("MAX_ROTATION_ANGLE", 45); // Angle maximum de rotation des lettres
define("ROTATION_VELOCITY", 2); // Vitesse de rotation des lettres
define("BARS_MOVE", false); // Définit si les barres bougent ou non
define("BARS_MOVE_VELOCITY", 4); // Définit la vitesse de mouvement des barres, valeur plus grande = déplacement plus lent
define("PRINT_SOLUTION", true); // Si true, alors la solution sera affichée 'en clair' sur l'image
define("FAKE_CHARS", "abcdefghijklmnopqrstuvwxyzéàèîêâôûù"); // Fausses lettres qui seront utilisés comme remplissage

// Couleurs
define("BACK_COLOR_R", 255);
define("BACK_COLOR_G", 255);
define("BACK_COLOR_B", 255);
define("FONT_COLOR_R", 100);
define("FONT_COLOR_G", 50);
define("FONT_COLOR_B", 50);

// Paramètres BDD
define("SQL_LOC", "127.0.0.1");
define("SQL_USER", "root");
define("SQL_PASS", "");
define("SQL_DB", "dictionnaire");
define("SQL_TABLE", "dictionnaire");

// On envoie un gif animé
header("Content-Type: image/gif");

// Connexion à la BDD
mysql_connect(SQL_LOC, SQL_USER, SQL_PASS);
mysql_select_db(SQL_DB);

// Séléction d'un mot au hasard (cette méthode est bien plus rapide que ORDER BY RAND())
$Entries = mysql_fetch_assoc(mysql_query('SELECT COUNT(*) AS n FROM dictionnaire WHERE length = 5;'));
$Entries = $Entries['n'];

$Limit = mt_rand(0, $Entries - 1);

$SQLQuery = 'SELECT mot FROM dictionnaire WHERE length = 5 LIMIT '.$Limit.', 1;';

$RandomWord = mysql_fetch_assoc(mysql_query($SQLQuery));
$RandomWord = $RandomWord['mot'];
$WordLength = strlen($RandomWord);

// On calcule les dimensions finales de l'image
$FinalWidth = LEFT_MARGIN + WIDTH_PER_LETTER * $WordLength + RIGHT_MARGIN;
$FinalHeight = MARGIN_TOP + FONT_SIZE + MARGIN_BOTTOM;

// Cet array contiendra nos images.
$BinaryPictures = array();

// Ces données servent à placer les lignes.
$HorizontalStep = ceil(FONT_SIZE / (NUMBER_OF_BARS + 1));
$Trans = 0;
$TransCount = 0;

// Pour chaque lettre du mot...
for($NumLetter = 0; $NumLetter < $WordLength; ++$NumLetter)
{
	// On génère des images pour remplir la durée demandée.
	$PicturesToGenerate = ceil(FRAMES_PER_SECOND * LETTER_DURATION);
	
	// On calcule l'angle
	$RotateAngle = mt_rand(-1 * MAX_ROTATION_ANGLE, MAX_ROTATION_ANGLE);
	$Direction = true;
	
	for($I = 0; $I < $PicturesToGenerate; ++$I)
	{
		// On met à jour l'angle de rotation
		if($RotateAngle >= MAX_ROTATION_ANGLE)
		{
			$RotateAngle-= ROTATION_VELOCITY;
			$Direction = false;
		}
		else if($RotateAngle <= -1 * MAX_ROTATION_ANGLE)
		{
			$RotateAngle+= ROTATION_VELOCITY;
			$Direction = true;
		}
		else if($Direction)
		{
			$RotateAngle+= ROTATION_VELOCITY;
		}
		else
		{
			$RotateAngle-= ROTATION_VELOCITY;
		}
		
		// On fait bouger les barres horizontales
		if(BARS_MOVE)
		{
			$TransCount++;
			
			if($TransCount >= BARS_MOVE_VELOCITY)
			{			
				$Trans++;
				$TransCount = 0;
				if($Trans > $HorizontalStep) $Trans = 0;
			}
		}
		
		$ActualPic = imagecreatetruecolor($FinalWidth, $FinalHeight);
		$BackColor = imagecolorallocate($ActualPic, BACK_COLOR_R, BACK_COLOR_G, BACK_COLOR_B);
		$LetterColor = imagecolorallocate($ActualPic, FONT_COLOR_R, FONT_COLOR_G, FONT_COLOR_B);
		
		// On remplit l'image avec la couleur de fond (imagecreatetruecolor crée une image noire par défaut)
		imagefilledrectangle($ActualPic, 0, 0, $FinalWidth, $FinalHeight, $BackColor);
		
		// On place les lettres sur notre nouvelle image
		for($J = 0; $J < $WordLength; ++$J)
		{
			$LetterX = LEFT_MARGIN + $J * WIDTH_PER_LETTER;
			$LetterY = MARGIN_TOP + FONT_SIZE;
		
			if($J == $NumLetter)
			{
				// On place la vraie lettre.
				imagettftext($ActualPic, FONT_SIZE, $RotateAngle, $LetterX, $LetterY, $LetterColor, FONT, $RandomWord[$J]);
			}
			else
			{
				// On met une lettre de remplissage.
				$FakeChars = FAKE_CHARS;
				$RandomLetter = $FakeChars[mt_rand(0, strlen($FakeChars) - 1)];
				imagettftext($ActualPic, FONT_SIZE, mt_rand(-1 * MAX_ROTATION_ANGLE, MAX_ROTATION_ANGLE), $LetterX, $LetterY, $LetterColor, FONT, $RandomLetter);
			}
		}
		
		// Puis on place les lignes horizontales.
		for($Y = MARGIN_TOP + $Trans; $Y <= $FinalHeight - MARGIN_BOTTOM; $Y += $HorizontalStep)
		{
			imageline($ActualPic, 0, $Y, $FinalWidth, $Y, $LetterColor);
		}
		
		// S'il faut afficher la solution, on le fait.
		if(PRINT_SOLUTION)
		{
			imagestring($ActualPic, 3, 0, 0, "S = ".$RandomWord, $LetterColor);
		}
		
		// Enfin, on sauvegarde l'image. Cette méthode est crade, mais ça fonctionne.
		ob_start();
		imagegif($ActualPic);
		$BinaryPictures[] = ob_get_clean();
	}
}

// On remplit l'array des durées des images.
$StaticDuration = (100 / FRAMES_PER_SECOND);
$DurationArray = array();
$ImagesCount = count($BinaryPictures);
for($A = 0; $A < $ImagesCount; ++$A)
	$DurationArray[$A] = $StaticDuration;
	
// On crée notre gif animé
$AnimatedPic = new GIFEncoder($BinaryPictures, $DurationArray, 0, 2, 0, 0, 0, "bin");

echo $AnimatedPic->GetAnimation();
Édité le 25/08/2008 à 21:25:21 par Artefact2
 
Hors ligne Torajio Bangani # Posté le 25/08/2008 à 23:36:59
La Main est du genre masculin.
Avatar
Groupe : Membres
Je l'aime bien celui-là :) . Un bot ciblé ne tarderait pas à le casser, mais si on prend compte de ceux-là, on n'a pas fini :-° ...

Par contre, c'est un sacré défaut, ça fait super mal aux yeux à force >_< .
Une petite suggestion : implémenter un moyen de modifier la fréquence de changement des fausses lettres :) .

Réduire la vitesse de rafraîchissement de ces fausses lettres permettrait de brouiller un peu plus les pistes (moins de différences d'une image à l'autre), et de faire moins mal aux yeux ^^ .

Pour toute proposition de projet,
la réponse est non.
A Creative World. - Be creative to be different.
Torajio n'est pas un Mogwaï.
 
Hors ligne Blackhole # Posté le 25/08/2008 à 23:50:38
Bear, and forbear
Avatar
Groupe : Membres
+1 pour Torajio, je préferais l'ancienne version :p

Par contre, Torajio, tu dis que "un bot ciblé ne tarderai pas à le casser" : comment, selon toi ? Parce que franchement je vois pas ...

- Le moteur de templates le plus rapide, le plus pratique et le plus effiace ? Par ici !
- N'oubliez pas le de marquer votre message comme résolu !
- Pour trouver une aiguille dans une botte de foin, on met le feu à la botte et on passe un aimant dans les cendres.
 
Hors ligne robocop # Posté le 26/08/2008 à 00:24:11
Avatar
Groupe : Membres
En prenant pleins d'images séparées, et en les regroupant, on peut arriver à une image ou l'on voit toutes les lettres clairement.
Édité le 26/08/2008 à 00:24:33 par robocop
 
Hors ligne Torajio Bangani # Posté le 26/08/2008 à 01:07:52
La Main est du genre masculin.
Avatar
Groupe : Membres
Je vois déjà plusieurs méthodes ;) :

  • Extraire les pixels colorés en communs entre deux images successives : à part un peu de bruit autour, on obtient déjà une lettre, certes déformée, mais reconnaissable pour un bot. On réitère pour chaque frame, on compare pour voir si les coordonnées de la lettre visible ont changé ; si c'est le cas, c'est la lettre suivante, sinon, c'est la même, et on peut revérifier le résultat précédent.
    ou
  • Comme le font les encodeurs vidéos, assigner des vecteurs mouvement : on retrouve ce qui bouge (et non ce qui disparaît), et donc on peut extraire la lettre de l'image. Puis pareil, on réitère pour toutes les frames et on compare.
    voire
  • Retrouver la police de caractères et comparer : il suffit de trouver une lettre reconnaissable (n'importe laquelle, du code ou non) et de l'identifier à une police. Ensuite, en utilisant la première méthode pour connaitre le nombre de frame avant qu'une nouvelle lettre du code apparaisse, on compare la xième lettre de la séquence de frames sélectionnée à tout l'alphabet de la police correspondante, jusqu'à avoir la bonne lettre. Et comme d'hab, on réitère et on recommence jusqu'à obtention du code complet.


Pour chaque cas, on peut enlever les barres en faisant une érosion, puis dilatation, comme ça a déjà été dit. Trois méthodes différentes (un peu tirée(s) par les cheveux, je vous l'accorde ;) ) pour casser un CAPTCHA en apparence très fiable :ange: .

Pour toute proposition de projet,
la réponse est non.
A Creative World. - Be creative to be different.
Torajio n'est pas un Mogwaï.
 
Hors ligne Talus # Posté le 26/08/2008 à 01:39:33
タルス
Avatar
Groupe : Membres
Artfact > Pour le dico (pas regardé le code de génération du captcha, faut dire :p)... Pourquoi faire ca (2 requetes) ? Un petit LIMIT 1 et un ORDER BY RAND() suffit :p. Ou même, un simple fichier texte, mais si le bot le trouve, bonjour le bruteforce.
 
Hors ligne metalking # Posté le 26/08/2008 à 11:06:56
Knowledge is Power
Avatar
Groupe : Membres
Hors ligne Torajio Bangani # Posté le 26/08/2008 à 11:22:38
La Main est du genre masculin.
Avatar
Groupe : Membres
Talus :> Il a mis dans le code que cette méthode était plus rapide qu'un ORDER BY RAND() ;) :
Code : PHP
1
2
3
<?php
// Séléction d'un mot au hasard (cette méthode est bien plus rapide que ORDER BY RAND())
?>


metalking :> Il y a un tutoriel sur l'utilisation de cette classe et un lien pour le téléchargement dedans ;) .

Pour toute proposition de projet,
la réponse est non.
A Creative World. - Be creative to be different.
Torajio n'est pas un Mogwaï.
 
Hors ligne Artefact2 # Posté le 26/08/2008 à 12:29:04
C'est toi le bouc !
Avatar
Groupe : Membres
Citation : Talus
Artfact > Pour le dico (pas regardé le code de génération du captcha, faut dire :p)... Pourquoi faire ca (2 requetes) ? Un petit LIMIT 1 et un ORDER BY RAND() suffit :p. Ou même, un simple fichier texte, mais si le bot le trouve, bonjour le bruteforce.


Oui, mais j'ai 260 000 entrées dans la table. Avec ORDER BY RAND() LIMIT 1, j'ai l'impression qu'il trie toute la table avant de choisir une entrée, et la requête prend environ vingt fois plus de temps ^^ :-°

Torajio et Blackhole > Tout est paramétrable via les define. Mettez FRAMES_PER_SECOND à 30 ou 25 mais il sera plus difficile de voir la lettre qui ne change pas (j'ai commenté tout ça).
Édité le 26/08/2008 à 12:34:39 par Artefact2
 
Hors ligne Torajio Bangani # Posté le 26/08/2008 à 13:43:40
La Main est du genre masculin.
Avatar
Groupe : Membres
En principe, l'œil ne perçoit pas vraiment mieux une animation au-delà de 25 images/secondes.

Au-delà de ce nombre, la différence est tellement minime qu'il devient compliqué de voir une différence en se concentrant, donc ça ne devrait pas gêner quelqu'un qui ne prête pas trop attention à la fluidité ;) .

Sinon, 260 000 entrées, sûr qu'avant de trouver le bon mot à la bruteforce, il va s'en passer du temps :D ! Je met ça de côté, c'est bien sympathique comme dictionnaire ^^ .

Pour toute proposition de projet,
la réponse est non.
A Creative World. - Be creative to be different.
Torajio n'est pas un Mogwaï.
 
Hors ligne Tracker # Posté le 26/08/2008 à 14:00:34
Avatar
Groupe : Membres
Citation : Tracker
En avant première, CradMan présente le captcha buggué ;)

Image utilisateur

Toujours le même principe
- à 60cm de l'écran tu louches suffisamment pour superposer le deux points noirs
- tu te concentres pour avoir l'image du point net
- une fois l'image 3D visible le code c'est les 5 lettres les plus proche de toi

Tracker.



Sans vouloir remettre ce post ce le tapis, je pense qu'il serait quand même intéressant de trouver d'autres type de "mise en oeuvre" de captchas exploitant les capacités de vision stéréoscopique humaines. La création artificielle du relief étant un processus cérébrale assez complexe, je pense que les bots pourraient s'y casser les reins quelques temps.


Tracker.

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne Torajio Bangani # Posté le 26/08/2008 à 14:22:30
La Main est du genre masculin.
Avatar
Groupe : Membres
Ce serait un CAPTCHA beaucoup plus sûr effectivement, mais il faut à cemoment-là trouver quelque chose de compréhensible, parce que là, ça fait cinq minutes que j'essais de voir ce code :p ... D'autant plus que je suis myope et j'ai par conséquent beaucoup de difficultés avec ce genre d'illusions d'optiques >_< ...

Pour toute proposition de projet,
la réponse est non.
A Creative World. - Be creative to be different.
Torajio n'est pas un Mogwaï.
 
Hors ligne Tracker # Posté le 26/08/2008 à 15:33:12
Avatar
Groupe : Membres
En réalité, il l'est (compréhensible) à partir du moment ou tu le vois. C'est une "coup d'oeil" à prendre.


Tracker.

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne tiphedor # Posté le 26/08/2008 à 16:28:53
I'll be back
Avatar
Groupe : Membres
J'arive pas a lire l'image en 3d :)
Édité le 26/08/2008 à 16:31:45 par tiphedor

Image utilisateur

 
Hors ligne Talus # Posté le 26/08/2008 à 16:48:24
タルス
Avatar
Groupe : Membres
Citation : Artefact2
Citation : Talus
Artfact > Pour le dico (pas regardé le code de génération du captcha, faut dire :p)... Pourquoi faire ca (2 requetes) ? Un petit LIMIT 1 et un ORDER BY RAND() suffit :p. Ou même, un simple fichier texte, mais si le bot le trouve, bonjour le bruteforce.


Oui, mais j'ai 260 000 entrées dans la table. Avec ORDER BY RAND() LIMIT 1, j'ai l'impression qu'il trie toute la table avant de choisir une entrée, et la requête prend environ vingt fois plus de temps ^^ :-°


Et t'as essayé de faire ca plusieurs fois (ce que tu fais, genre un bon millier de fois...) ?
 
Hors ligne Jeremie64 # Posté le 26/08/2008 à 16:51:59
Get over it !
Avatar
Groupe : Membres
Ceci aide surement à lire ces images.

http://fr.wikipedia.org/wiki/St%C3%A9r [...] #Vision_libre

p.s: si Tracker pouvait donner la solution du captcha, on pourrait voir si ça fonctionne.

EDIT: Décidément ce matin, j'en fais des erreurs :p
Édité le 26/08/2008 à 16:56:47 par Jeremie64


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 Tracker # Posté le 26/08/2008 à 16:57:07
Avatar
Groupe : Membres
En fait il est recalculé à chaque affichage, je vais le modifier...
Sinon, j'aime bien aussi le principe des stéréogramme.

[ed] Réponse, si tu louches:
- sur l'avant plan: AuTDx
- sur l'arrière plan: GoZsSM


Tracker.
Édité le 26/08/2008 à 17:04:30 par Tracker

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne treize # Posté le 26/08/2008 à 17:16:28
Beedee's, prochainement...
Avatar
Groupe : Membres
Enfin bon, après ou oublie un petit peu le second but : que ça reste facilement lisible par l'humain. ;)
Normalement, on utilise ça pour l'inscription ou le livre d'or, si il faut loucher pour lire... :p

Bien qu'il soit bien fait hein. ;)
Édité le 26/08/2008 à 17:17:33 par treize

Image utilisateur

Bêta de Beedee's le 1er Avril 2009 !
» Topic de présentation
» Blog de Beedee's






 
Hors ligne Tracker # Posté le 26/08/2008 à 17:30:44
Avatar
Groupe : Membres
C'est bien la que le problème se pose, il est évident que si quelque chose reste facilement lisible par l'humain myope et borgne, un bot n'en fera qu'une bouchée..


Tracker.

Un peu de lecture: PHP // MySQL // JavaScript // w3schools // SQL
 
Hors ligne treize # Posté le 26/08/2008 à 17:51:46
Beedee's, prochainement...
Avatar
Groupe : Membres
Puis-je vous poser une question ?
Est-ce qu'un bot confirmé peut screenshooter l'écran ?

Image utilisateur

Bêta de Beedee's le 1er Avril 2009 !
» Topic de présentation
» Blog de Beedee's






 
Hors ligne A-spec59 # Posté le 26/08/2008 à 19:25:52
Réfléchissez !
Avatar
Groupe : Membres
Citation : treize
Puis-je vous poser une question ?
Est-ce qu'un bot confirmé peut screenshooter l'écran ?
Il existe une fonction pour le faire en PHP, mais faut avoir un serveur qui tourne sous Windows. Donc je pense que ça doit être réalisable.

Green Searches, 1ère bêta. Pourquoi faire des recherches de façon écologique devrait-il se réduire à des recherches web. Green Searches vous permet aussi de faire des recherches d'images, de vidéos (à venir), de livres, dans les actualités ....
Je cherche des petit trucs à faire contre petite rémunération (traduction, codage de script, graphisme, ... ) Plus de détails => me contacter
What I can do
 

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 134 Zéros connectés | Requêtes SQL 5 requêtes | Temps de génération de la page : Total (SQL) 0.0656s (0.049s)