Image Anti-robot

Répondre
Lefounard
le 14/04/2006 à 15:20
Lefounard
Bonjour,
Je voulais savoir vos avis sur l'utilité des images anti-robot generalement utilisé dans les formulaires d'inscription.
Est-ce que d'autres solution sont possible, genre poser une question que seul un humain peut repondre,
j'ai vu qu'en php, on pouvait generer des images avec GD, est-ce dur ?!
Ciao,
I am singing in the rain , I am happy again !!
Bzh
le 14/04/2006 à 18:50
Bzh
Non non... Regarde le cours ! La librairie est vraiment très simple...

Tu peux regarder un tout petit exemple

C'étais un simple exemple de web bug pour les mails (pas très interessant du tout)!

Enfin, le script pour générer cette image tient 10 en lignes pas plus...

L'interet du code est d'empêcher la création de script permettant la création de compte automatisée !

Pour cela tu génère une image avec le code de l'image enregistré dans une variable de session et si le code entré dans le formulaire = la variable de session, c'est bien un humain...

Bye...
zebden
le 14/04/2006 à 19:20
zebden
Ce qu'on appelle une image Captcha.

Tiens une class qui traite de ça justement :
Sur classes.scriptsphp.net

Ce qu'on reproche à cette méthode est le manque d'accéssibilité, ca peut devenir, pas forcement pour les déficients visuels, illisible. C'est pour ça d'ailleurs que les gros groupes ajoutent un MP3 généré de la même manière.

Pour la question, où seul peut repondre un humain, me parait plus adequat, mais encore une fois, on reproche qu'il faille une action cérébrale de la part de l'utilisateur et donc du coup assez contraignant.

Qui va avoir mal à la tête en répondant :
"Quelle est la couleur du cheval blanc d'henri IV ?"

Bref, je pencherais plutôt pour la 2eme solution, evidemment avec des questions aléatoires renouvelées souvent.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Rolland
le 06/06/2006 à 18:20
Rolland
Salut,

J'ai justement un pb d'inscriptions automatiques dans un forum et de messages du même genre dans un livre d'or.
Privé de Captcha pour cause de PHP 4.3 et pas 5 chez mon hébergeur, j'ai voulu utilser la librairie GD.
Et là bien sûr, header (pour Zebden, j'ai pas écrit hardeur ;o)) already sent... puisque du html, un formulaire, du javascript, un bbCode, des smileys... avant l'image de contrôle.
Un moyen d'intégrer l'image dans la page ou la seule méthode est de la créer dans un popup et de générer une varaiable de session, ce qui me paraît bien lourd.

Merci par avance.
3SI - Sea, Sex, Sun and Internet
Rolland
le 06/06/2006 à 19:39
Rolland
Ouaip, c'est bien ça.
Vu que tu utilises Capcha.php, mais je dois pas avoir la bonne version car j'ai récupérée la class du post de Zebden http://classes.scriptsphp.net/doc.captcha qui ne tourne qu'en php5 et mon hébergeur non.
T'as un lien ou autre ?

Merci ;o) et à +.
3SI - Sea, Sex, Sun and Internet
i M@N
le 06/06/2006 à 19:56
i M@N
Reuh ...

ben écoute en attendant, tu peux générer un nombre aléatoire dans ton code et le passer à un script du style :
<?php

if (isset($_GET["texte"])) $texte = $_GET["texte"]; else $texte = "texte";
$police=2;
$nbr=strlen($texte)*10;
$ymin=$xmin=5;
$ymax=24;
$xmax=$nbr-1;
$image=ImageCreate($nbr, 25);
$b=ImageColorAllocate($image, 255, 255, 255);
$n=ImageColorAllocate($image, 0, 0, 0);
imagecolortransparent($image,$b);
$longueur=strlen($texte)*ImageFontWidth($police);
$hauteur=ImageFontheight($police);
$xTexte=$xmin+(($xmax-$xmin)-$longueur)/2;
$yTexte=$ymin+(($ymax-$ymin)-$hauteur)/2;
ImageString($image, $police,$xTexte, $yTexte, $texte, $n);
header("Content-type: image/png");
imagePNG($image)

?>
normalement si t'as librairie GD ça devrait fonctionner.

Mais chui pas sûr d'avoir compris ton problème.

@+...
One Love, One Heart, One Unity.
Rolland
le 06/06/2006 à 21:07
Rolland
Thanks !

Je teste demain matin.

@ +
3SI - Sea, Sex, Sun and Internet
Rolland
le 07/06/2006 à 08:00
Rolland
Bonjour I M@n,

Mon pb, était de trois ordres :
1 - Je pensais pas que l'on pouvait comme dans le code source de la page de ton livre d'or http://imanweb.free.fr/GUESTBOOK/ récupérer l'image générée avec
<img src="page-de-generation.php" alt="" />
Je cherchais donc à créer l'img dans le meme page que le formulaire, d'où conflits de header.

2 - Vérifier le code saisi et c vrai qu'un simple input hidden suffit. Quoique je me demande si les robots ne peuvent pas le récupérer. Je le tente comme ça et si les robots passent, j'utiliserai une varaiable de session.

3 - Comme toujours, à force d'avoir le "nez dedans", on ne voit plus les évidences.

Merci bien en tout cas.

Bye
3SI - Sea, Sex, Sun and Internet
Bzh
le 07/06/2006 à 19:03
Bzh
Alors oui, il faut utiliser la balise <img> ensuite OUI aussi pour ne PAS employer les formulaires <input > en hidden mais bien UTILISER une variable de sessions.

Sinon, il n'y a aucun interet d'utiliser une image si le code se situe sur la même page.

Donc il faut absolument utiliser une variable de session.

Pour générer une image afin de la mettre dans la balise <img>, regarde le cour sur la librairie GD, il y a un exemple.

Bye...
Répondre
LoadingChargement en cours