Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASS PERMETTANT DE CRÉER UNE IMAGE POUR LA VALIDATION D'UN FORMULAIRE


Information sur la source

Catégorie :Sécurité & Cryptage Classé sous : class, code, image, antispam Niveau : Initié Date de création : 10/06/2006 Date de mise à jour : 11/06/2006 13:19:13 Vu / téléchargé: 10 630 / 2 508

Note :
9,58 / 10 - par 12 personnes
9,58 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (62)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,

Cette Class permet d'afficher une image contenant des caractères (lettres et chiffres) pour la validation d'un formulaire.
Lorsqu'une perssonne remplit le formulaire, elle doit aussi saisir le code affiché dans l'image pour valider le formulaire.
Cela empêche les robots de valider le formulaire et donc évite le spam.

Fonctionne sous PHP4 et PHP5 avec la ressource GD de PHP activée.
Testé sous Internet Explorer 6 et Firefox 1.5.0.4 en utilisant EasyPhp 1.8.
 

Source

  • Tout est dans le zip !
Tout est dans le zip !

Conclusion

Installation et test :

- Extraire le zip dans répertoire
- Lancer le fichier test.php

Le zip contient une police TTF nécessaire au fonctionnement. Elle peut être remplacée ar une autre police.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

11 juin 2006 13:19:13 :
Voilà, suite aux divers commentaires, je viens de mettre à jour le zip ! La version contenue dans le zip utilise les sessions et donc le code n'est plus visible !

Commentaires et avis

signaler à un administrateur
Commentaire de floptwo le 11/06/2006 01:44:48

Salut !
J'etais super content de trouver tons script, j'en ai bien besoin mais j'ai trouver la faille. Quand je demande les propriétés de l'image, ça me donne :
.../phpcs_source_38043/antidot.php?action=print&string=V5WC7G
Et string si je ne me trompe pas string=V5WC7G est le mot de passe ?!
Donc, c'est mort, désolé !

signaler à un administrateur
Commentaire de coucou747 le 11/06/2006 09:18:23

faut faire passer ça par $_SESSION

signaler à un administrateur
Commentaire de coockiesch le 11/06/2006 10:46:14

Yep!
A part ca, ca à l'air bien foutu: couleurs, bruit, décallage! Bravo! :)

Manque plus que la session et on adopte! :)

@++

R@f

signaler à un administrateur
Commentaire de Sannazzarotiti le 11/06/2006 12:37:47

Une question, si le visiteur ne possede pas la police, il se passe quoi?

signaler à un administrateur
Commentaire de coockiesch le 11/06/2006 12:57:13

La police doit être présente sur le serveur puisque c'est PHP qui génère l'image! Le visiteur ne reçoit qu'une image! :)

@++

R@f

signaler à un administrateur
Commentaire de patcui le 11/06/2006 13:22:22

Salut FlopTwo, coucou747, COOCKIESCH, Sannazzarotiti,

Je veins de mettre à jour ma source !

Pour COOCKIESCH, tu as raison !!!!

A+ tous le monde,

signaler à un administrateur
Commentaire de Sannazzarotiti le 11/06/2006 13:38:37

ok merci, je le telecharge tout de suite, 10/10

signaler à un administrateur
Commentaire de ghuysmans99 le 12/06/2006 21:27:13

je chearchais ca depuis longtemps ...
merci !

10/10 pour l'idée

signaler à un administrateur
Commentaire de linkid le 14/06/2006 11:02:27

Super ! Ce script est vachement utile !
Merci ! (10/10)

signaler à un administrateur
Commentaire de charliecollard le 14/06/2006 20:52:38

ton  script a l'air vraiment bien mais l'image ne s'affiche pas.j'ai easy php 8 et j'ai activé gd .quand je fais un clic droit sur l'image etafficher l'image ,j'obtiens des messages d'erreurs tels que:
Warning: imagettftext(): Could not find/open font in /var/www/sdc/6/6/charlico/antidot.php on line 150

Warning: imagettftext(): Could not find/open font in
Pourtant je n'ai pas touché tes sources et le .ttf est bien sur mon compte ftp .
Desolé si j'ai l'air d'un boulet mais je commence un peu en php.
merci d'avance

signaler à un administrateur
Commentaire de patcui le 15/06/2006 08:03:51

Bonjour charliecollard,

"Warning: imagettftext(): Could not find/open font in /var/www/sdc/6/6/charlico/antidot.php on line 150" signifie qu'il ne trouve pas le fichier font.
Véifie que le fichier font (comic.ttf) est bein écrit en minuscule car PHP différencie les majuscules et minuscules.
A part ça je ne vois d'où cela peut venir.
A+,

signaler à un administrateur
Commentaire de Barbitoris le 20/06/2006 10:33:57

moi j'ai aussi le même problème

"Véifie que le fichier font (comic.ttf) est bein écrit en minuscule"
==> oui tout est bien écrit en minuscule ... malheureusement l'image n'apparait toujours pas ... y a comme qui dirait une anguille là ;S

signaler à un administrateur
Commentaire de charliecollard le 23/06/2006 18:09:09

moi j'ai plutot l'impression qu'avant de faire le session start il faudrait faire le
header ("Content-type: image/jpeg");
en effet la classe ne presente pas du tout cette ligne qui est "obligatoiretement"a placer en debut de script (oubliez les espaces )sous peine d'avoir un message d'erreur du type headers already put by .
je pense que le probleme d'affichage vinedrait de la !!
Qu'en pensez vous?

signaler à un administrateur
Commentaire de charliecollard le 24/06/2006 14:54:36

voici la reponse a notre probleme d'affichage:
http://fr.php.net/imagettftext

il faut enlever le .ttf a la ligne 151 et le probleme sera resolu!ceci est du a la version de gd installé sur votre serveur.
Oubliait aussi mon commentaire d'avant.le header est obligatoire pour l png pas pour le jpeg!!!

signaler à un administrateur
Commentaire de Barbitoris le 26/06/2006 09:22:09

Je reste perplexe sur les solutions retenues pour endiguer ce problème, car toujours le même message d'erreur !

m'enfin c'est pas grave j'ai trouvé sur le site un script qui permet de faire efficacement la même chose et sans problème apparants !

Thx quand même ...
:D

signaler à un administrateur
Commentaire de doublemt le 07/08/2006 14:54:13

Salut, ce doit etre un script excellent. Mais j'ai un souci, l'image s'affiche mais a l'interieur rien. D'ou vient le probleme ?

signaler à un administrateur
Commentaire de webdeb le 11/08/2006 10:52:34

Salut à tous,

Je n'ai pas testé ce code mais j'ai un avis assez personnel sur cette méthode de validation de formulaire. Je ne suis pas fan des images de validation telles que celle-ci pour une simple et bonne raison : l'accessibilité.

Si vous demandez à une personne handicapée visuelle ou physique de valider une inscription sur un site par ce biais là, elle risque de ne pas pouvoir déchiffrer le code inscrit dans l'image. De même, si elle utilise un navigateur spéciaux qui supprime les images et ne restitue que le contenu texte. Elle serait alors privée de toute inscription sur le site qu'elle désire.

Une alternative intéressante est alors le captcha textuel. Vous posez une question super simple à l'internaute qui connaîtra la réponse sans hésiter. Voici quelques exemples :

Combien font deux plus trois ?
Qui est le fidèle compagnon animal de Tintin ?

Dans un champ texte, votre visiteur n'a plus qu'à donner la réponse (5, milou). Afin d'éviter les inscriptions de robots, il est préférable de stocker plusieurs couples questions / réponses dans une table sql et d'en afficher une prise au hasard dans le formulaire. Vous testez la réponse donnée avec celle de la table. Si c'est ok le formulaire est validé sinon on reprend une nouvelle question au hasard.

Que pensez-vous de cette méthode bien plus simple, plus accessible et moins gourmande en ressources qu'une image à générer dynamiquement ?

++

signaler à un administrateur
Commentaire de coucou747 le 11/08/2006 11:03:47

webdeb, t'as interet de ne pas publier ta base de donnée de questions... et t'as interet de la faire chargée parceque le robot actualise et remplis les questions, et ensuite quelqu'un place les réponses, et hop...

signaler à un administrateur
Commentaire de charliecollard le 11/08/2006 11:05:25

je suis tout a fait d'accord.Pour les plus reticent ,vous pouvez toujoours afficher un message destiné au mal voyant qui les redirige vers la question simple.
Je vais modifier ca tout de suite!

signaler à un administrateur
Commentaire de webdeb le 11/08/2006 11:15:15

>> Pour les plus reticent ,vous pouvez toujoours afficher un message destiné au mal voyant qui les redirige vers la question simple.

Comment tu le sais que tes personnes sont mal voyantes ? Tu veux leur proposer un lien en plus à cliquer du genre :

"Si vous êtes mal voyant ou handicapé, veuillez cliquer ici svp !"

Ca ne se fait pas trop... Je suis plutôt d'avis pour une seule et même version accessible pour tous ! Si ton visiteur est atteint d'une paralysie ou qu'il a de fortes difficultés motrices et que tu lui demandes de cliquer un nouveau lien parceque le formulaire auquel il accède ne lui ai pas destiné, je doute qu'il apprécie. Pour lui, ce sera un effort important d'aller chercher et cliquer cet autre lien alors que pour une personne "en pleine santé", ce ne sera qu'une histoire de quelques dixièmes de secondes.

signaler à un administrateur
Commentaire de Palleas_44 le 11/08/2006 13:08:07

+ 1 webdeb

Je suis personnelement anti-image tordues :p
Quand je fais un site j'essaie de maximiser l'accessibilité (XHTML, balises comme il faut etc...) et cette méthode me donne des boutons personnelement.
Attention je ne mets pas en doute la pertinence ou la qualité du script (je vais mettre une bonne note, pas 10 de par l'idée d'image tordue), juste le concept, ce n'est pas accessible, donc je n'aime pas.
Une alternative textuelle serait pour moi une perte de temps et dommageable pour le visiteur souffrant d'un handicap. Une perte de temps car autant faire un site accessible pour tous des le départ, dommageable parce que, comme Webdeb, je ne suis pas sur que le visiteur apprecie ce systeme.

signaler à un administrateur
Commentaire de Tanaka56 le 24/08/2006 11:05:51

Bonjour à tous.
Après essais, ce code fonctionne parfaitement et je le trouve vraiment très bien adapté aux spams. Seulement étant débutant, j'aimerais savoir dans quelle partie de mon formulaire je dois l'insérer?
Cordialement
Al.

signaler à un administrateur
Commentaire de webdeb le 24/08/2006 11:21:28

Tu l'insères où tu veux dans ton formulaire à l'endroit où tu veux faire apparaître l'image. Il faut aussi que tu ajoutes un champ supplémentaire pour que le visiteur puisse taper ce qu'il voit dans l'image.

++

signaler à un administrateur
Commentaire de Tanaka56 le 24/08/2006 11:32:18

Merci pour ta réponse.
Je possède un formulaire HTML qui après être rempli et validé par une touche "Envoyer" va sur une page en PHP qui me fait parvenir les informations et va sur une autre page HTML de remerciement.
Pour l'instant rien de compliqué. La question que je pose c'est que je ne sais pas avant la validation de la première page où je dois mettre la "Class anti spam".

signaler à un administrateur
Commentaire de webdeb le 24/08/2006 12:00:48

la classe doit se mettre dans un fichier séparé à inclure dans les pages qui exploitent cette classe.

signaler à un administrateur
Commentaire de Tanaka56 le 24/08/2006 14:09:43

Je pense qu'il serait judicieux de se mettre à la place des débutants qui ne comprennent rien à ce genre d'explications.
Cordialement

signaler à un administrateur
Commentaire de Palleas_44 le 24/08/2006 15:44:21

inclure un fichier :
include
require
etc...

signaler à un administrateur
Commentaire de webdeb le 24/08/2006 18:33:48

http://www.php.net/include
http://www.php.net/require
http://www.php.net/include-once
http://www.php.net/require-once
http://www.phpdebutant.org

signaler à un administrateur
Commentaire de Tanaka56 le 24/08/2006 19:01:44

Certaines réponses prêtent à sourire. En effet, je crois que certains n'ont pas bien compris le sens de ma question, C'est sans doute moi qui me suis mal exprimé et je m'en excuse!!!
Mais je parle aux noms de tous les débutants qui posent une question de débutant et qui obtiennent des réponses inadaptés.  Pourtant ma question est simple. Après avoir rempli le formulaire HTML, je passe sur la page "test.php" et je voudrais si le résultat est correct passer sur ma page "formmail.php" et non pas avoir comme résultat un "Bad !!!!" ou un  "Ok !!!!"
Je suis sur que quelqu'un aura la bonne réponse.
Merci à tous aux noms des débutants.
Cordialement

signaler à un administrateur
Commentaire de webdeb le 24/08/2006 20:00:51

Il faut que tu arrives à mettre en session le code aléatoire de l'image qui a été généré. Puis sur ton autre page, tu testes la session. Si ta variable de session contient la même valeur que ce qui a été posté par le visiteur alors c'est bon sinon ce n'est pas bon.

signaler à un administrateur
Commentaire de coockiesch le 24/08/2006 21:10:42

Au risque de faire du détournement, si celle ci te convient mieux...
http://www.phpcs.com/codes/IMAGE-ANTI-SPAM_38969.aspx

@++

R@f

signaler à un administrateur
Commentaire de jean84 le 25/08/2006 15:38:23

Salut !
sympa la source, exactement ce qu'il me fallait merci ;-)!!!

Je voulais prendre part a la petite discution sur les images prohibitives pour les handicapes. Dans le fond vous avez entierement raison, a savoir qu'il ne faut pas exclure les gens pour leurs handicap (ou a cause je ne porte pas de jugement) mais il faut quand meme etre realiste : si on fait sa c'est avant tout pour ne pas se faire (excusez moi de l'expression) pirater la gueule... les bots deviennent de plus en plus intelligent et efficaces (intelligent dans le sens ou ils sont bien codes et savent executer des actions complexes) et la solution la plus performante en ce moment, c'est la lecture via photo et je dois dire (au risque d'en choquer certains) que malgre que je comprenne parfaitement que le fait d'ecarter (volontairement ou pas) certaines personnes a cause de leurs handicap n'est pas excusable, je prefere etre amener a choisir cette option plutot que de trouver une solution interemediaire pouvant mettre a mal la securite de mon site ainsi que son integrite. Et puis en reflechissant bien, il n'est pas du tout possible de tout prevoir et il n'est pas rare de nos jours que les sites soient parfois dependant d'un navigateur... bien que le css2 et les dernieres version de nos browsers favoris commencent a dissiper les malentendus entre feuilles de styles ou balises esoteriques, je n'ai pas envie de coder mon site pour les personnes utilisant IE 4 (sa existe encore enormement) ou nestcape 6.0 (ceux qui ont utilises les feuilles de styles sur dreamweaver 2004 comprendront pourquoi je designe ce navigateur) ou tout simplement les irreductibles qui se promene encore avec des browser en mode texte... faut-il renoncer a toutes nos belles interfaces web utilisant du flash ou des css de 500 lignes chacunes ?? je comprend facilement que le rapprochement n'est pas evident a faire et qu'il reste le facteur humain aussi je pense qu'avant de vouloir opter pour une solution de rechange, il faut bien etudier la question en se demandant si vraiment notre site sera susceptible de recevoir des internautes qui potentiellement , ne pourront pas exploiter le contenu de nos pages...

En esperant n'avoir ennuyer personne, bravo encore une fois pour la source et @++

signaler à un administrateur
Commentaire de Palleas_44 le 25/08/2006 16:10:51

Je ne suis pas d'accord avec un grand nombre de question le captcha texte est efficace

signaler à un administrateur
Commentaire de jean84 le 25/08/2006 16:19:49

tant mieux chacun est en droit d'avoir ses opinions :-) mais je suis du meme avis que coucou747 a savoir que ta base de donnees pour un truc de ce genre doit etre tres importante (on parle de centaines de questions et encore...) parce sinon, tu risques d'avoir des surprises... pour t'en convaincre, renseigne toi sur un logiciel qui s'appelle Brutus et qui est capable d'analyser et de comprendre un formulaire (et en plus c'est un executable donc pas besoin de scripts ..) afin de le flooder ou de contourner ses protections... ou alors (et la par contre sa serait interessant), partir sur la base du genre combien font cinq + deux mais prendre des valeurs au hasard et trouver une correspondance entre les lettres et les chiffres afin de les generer au hasard.. mais la encore les bots peuvent apprendre l'astuce ... il faudrait y reflechir a sa ...

signaler à un administrateur
Commentaire de jean84 le 25/08/2006 16:22:30

en fait il faudrait reprendre le principe de l'image mais l'associe au question : arriver a generer un couple question / reponse sans savoir la reponse (les images on ne les connait pas d'avance) comme sa, si c'est bien realise, on pourrait arriver tromper l'enemis (lol)....

signaler à un administrateur
Commentaire de Palleas_44 le 25/08/2006 17:20:53

Ou un algo qui génèrerait des questions simples de calcul genre deux plus deux etc... c'est faisable :p mais une image tordue => BOUH !  ^^

signaler à un administrateur
Commentaire de webdeb le 25/08/2006 19:01:07

L'image est certes efficace mais toujours aussi difficile à exploiter même pour des personnes non handicapées. Pour ma part, même avec une excellente vue, j'ai du mal à interprêter certaines de ces images dans lesquelles on n'arrive pas parfois à distinguer correctement un zéro d'un O, un L d'un I...

Cela devient énervant lorsque l'on recommence 3 fois l'opération en confondant des lettres ou des chiffres. Ainsi, si moi j'ai du mal alors je me demande comment les personnes qui portent seulement des lunettes ou des lentilles arrive à ne pas péter un plomb devant ce genre de situation.

Je reprends une citation de l'inventeur du Web Tim Berners Lee qui dit “ La richesse d'internet réside dans son universalité. Il est essentiel que chacun, handicapé ou non, puisse y avoir accès.”. Pourquoi vouloir exclure des personnes au détriment de quelques petits robots. La sécurité est certes importante mais l'accessibilité l'est également. Les deux peuvent très bien fonctionner simultannément sans avoir recours à des solutions farfelues gourmandes en ressources comme la génération d'images. Je doute que lorsque l'on fait un petit site perso, on se soucie beaucoup de la sécurité. D'ailleurs, je doute que les webmasters qui créent leur petit site perso dans leur chambre programment un minimum correctement et qu'ils n'excluent la moindre faille. J'en fais partie, je ne suis pas un spécialiste en programmation. Je cherche cependant toujours à assurer une sécurité minimale en prenant le soin de faire attention aux failles les plus répandues de PHP dans la mauvaise utilisation du langage. Je parle ici de l'injection SQL, de la faille liée aux includes ou encore à l'upload mal contrôlé. Toutes ces failles ne viennent pas du langage en lui même mais des programmeurs qui n'y prêtent pas suffisamment attention et pourtant ce sont des entrées très fréquemment exploitées qui permettent de pirater un site sans grande difficulté.

Donc Jean84, quand tu nous parle d'exclure les personnes handicapées au profit de la sécurité de ton site, je trouve ça déplacé. Je pense que tu te fais un peu trop de paranoïa au niveau de la sécurité. La probabilité de se faire pirater son site existe, je suis d'accord mais les pirates ne cherchent généralement pas à pirater des sites persos. Si tu me disais que tu faisais un site pour une banque ou bien un site de vente, alors l'argument sécurité prendrait le pas sur celui de l'accessibilité. Mais je doute que tu en sois à ce niveau là! Peut-être me trompe-je ?

Pour en revenir aux robots, il existe des parades au niveau des fichiers .htaccess pour contrôler leur arrivées sur un site. Donc il est toujours possible d'exclure des robots d'accéder à un site. Des listes de robots spammeurs existent sur Internet ainsi que des scripts pour fichiers .htaccess. Il faut juste s'y intéresser et les utiliser. Aucune sécurité n'est fiable à 100% donc cela ne sert à rien de vouloir construire des murs alors qu'un intrus pourrait venir par le ciel !!! (c'est beau lol).

Essayons plutôt de rendre nos sites accessibles sans toutefois laisser la sécurité de côté bien entendu.

++

signaler à un administrateur
Commentaire de jean84 le 26/08/2006 16:24:52

Merci pour ta reponse webdeb, j'aime quand les commentaires sont bien penses comme le tiens ^^. Pour ta reponse, non je ne fais evidement pas de site aussi important mais j'ai une politique particuliere en me disant que si devait etre amener a faire un site dans ce genre (ce qui est loin d'etre improbable), je vais etre pret. Ce n'est pas du jour au lendemain qu'on code de facon securise et il y a toujours un petit truc auquel on ne pense pas (tu l'illustre parfaitement d'ailleurs : batir un mur et se faire attaquer par le ciel). Un code sur lequel j'ai passe beaucoup de temps a travailler dessus me fait bondir 1 mois apres car je n'avais pas vu une faille (alors que j'ai essaye de faire le tour ...). Je suis d'accord egalement avec toi lorsque que tu dis ne pas arriver a lire certains images. Je prend l'exemple du site de hotmail en exemple qui m'a tellement gave que j'ai finis par creer un email ailleurs pour pouvoir me connecter a msn... Je comprend aussi le fait qu'il ne faut faire aucune discrimination mais a ce moment la, comme je le disais dans mon 2e post, il faut arriver a trouver une solution aussi fiable que les images tout en gardant l'accessibilite a tous... et la je seche !

Si tu as des idees (autres que celle que tu as proposes que je juge inapropries dans pas mal de cas - ce n'est que mon avis), je suis entierement a ton ecoutes afin que l'on puisse parer ensemble ce genre de probleme.

Cordialement

signaler à un administrateur
Commentaire de webdeb le 27/08/2006 19:03:48

J'aurais pensé à un captcha audible. Genre, lorsque l'on clique un lien, un mot généré aléatoirement est épellé lettre à lettre. Le visiteur devra donc réécrire les lettres qu'il a entendues dans le champ. Soucis, ce n'est pas accessible aux personnes sourdes, muettes et malentendantes ainsi qu'aux personnes ne disposant d'une sortie audio sur leur machine. Il faudrait se pencher sur une version mixte texte / son ou image / son. Je ne sais pas, c'est à réfléchir.

++

signaler à un administrateur
Commentaire de Palleas_44 le 27/08/2006 19:49:30

Si je ne m'abuse ca se fait déja ^_^ mais autant faire un captcha texte roooooo :P

signaler à un administrateur
Commentaire de Tanaka56 le 27/08/2006 19:57:12

N'y aurait-il pas moyen de faire comme sur le site ci-dessous un clavier virtuel ? Pour quelqu'un qui Maîtrise bien Javascript ce ne serait pas un problème! Le défit est-il lancé ???

https://www.labanquepostale.fr/index.html

signaler à un administrateur
Commentaire de Palleas_44 le 27/08/2006 20:01:40

C'est quand même bien prise de tête je trouve ^o)
Mais la bien sur c'est sur u site de banque...

signaler à un administrateur
Commentaire de webdeb le 27/08/2006 20:03:53

Le javascript est assez peu accessible. Il peut être désactivable contrairement à un bon vieux captcha texte.

signaler à un administrateur
Commentaire de Tanaka56 le 27/08/2006 20:08:45

J'ai consulté de nombreux sites sur les images anti-spam; à mon sens, ce n'est pas assez vulgarisé. Pas assez d'explication quant à la mise en place de ce procédé O combien efficace pourtant.

signaler à un administrateur
Commentaire de webdeb le 27/08/2006 20:54:33

Certes efficace, même des fois trop mais si peu accessible à l'inverse !!! Pourquoi vouloir discriminer des personnes à cause d'une simple image ?

signaler à un administrateur
Commentaire de jean84 le 27/08/2006 21:21:01

je pense quand meme que certains sites se prennent vraiment la tete (toujours hotmail pour reference) pour la generation d'images... En fait, pour mieux comprendre pourquoi, il y a avait un article dans The Hacademy Journal qui expliquait les parades a ce genre de securite. Il etait explique que certains logiciel (notement 1 en open source - forcement :p) sont capables de "lire" ces images en suivant les lignes et en essayant de "deviner" suivant les traces des lettres. D'ou l'interet de mettre des couleurs differentes ainsi qu'un fond generant du bruit dans l'image (quelqu'un l'a mentionne ici meme je crois). L'interet egalement de lier les lettres entre elles afin que le programme est du mal a savoir ou les lettres s'arretent.
Je pensais a une methode toute bete mais empirique afin d'eviter tous les floods : je pensais a l'enregistremet de l'adresse ip du visiteur avec un timestanp attache. Le probleme est que si le site est pas mal frequente et que plusieurs utilisateur passant par le meme proxy (reseau d'entreprise par exemple) s'enregistre en meme temps, il va y avoir du refoulage a l'entree ^^

Il faudra peut etre se contenter d'une telle solution (tout depend des parametres de frequentations du sites, ect ... ) mais cela permettrait du coup d'arranger pas mal de sauces... si en plus on y ajoute une chtite image mais correctement gere (c'est a dire avec des lettre correctement forme en tres gros caracteres sans melange de couleurs sur fond noir), je pense qu'on pourrait y trouver un bon compromis. Sa serait evidement pas inviolable aux yeux d'un pirate chevrone mais sa permettrait de retressir le champ d'action des bots.... Et si jamais on elimine l'idee d'enregistrer une ip, on peut toujours se contenter des images mais en "faintant" les logiciels d'audits en utilisant que la methode setpixel de gd afin de "dessiner" a la main les caracteres... c'est tres dur (faut pas le cacher) mais au moins les lettres pourront etre tres facilement lisible par une personne potentiellement en difficulte tout en deroutant les  prog d'analyses qui ne verront aucune ligne continue... ce n'est qu'une supposition et je ne connais pas l'avance de ce genre de progs mais je pense que dans un premier temps, sa ne serait pas une mauvaise idee ....
Maintenant reste a coder un algo capable de dessiner pixel par pixel une lettre ou un chiffre tout en gardant suffisament d'espace entre chaque point.... les paris sont ouvert :-)

signaler à un administrateur
Commentaire de webdeb le 27/08/2006 21:33:22

Les adresses ne constituent en aucun cas un système sécurisé pour empêcher quoique ce soit. Voici un petit billet pour te convaincre :

http://frederic.bouchery.free.fr/?2004/09/12/17-ip-ip-ip-houra

L'histoire des proxy y est développée aussi.

Tu veux faire un algo qui demanderaient trop de ressources. Ce serait trop se prendre la tête comme système de sécurisation. Un bon moyen serait une authentification avec certificat par HTTPS et encore.

++

signaler à un administrateur
Commentaire de jean84 le 28/08/2006 14:29:27

non je suis aps d'accord.... c'est limite idiot comme billet en plus... evidement que la securisation n'est pas parfaite mais comme il l'indique, tu peut appeller les methodes # $_SERVER['HTTP_VIA']
# $_SERVER['HTTP_X_FORWARDED_FOR'] pour verifier l'etat d'un proxy et au pire, tu bloques les inscriptions pendant 10 sec apres chaque enregistrement... et puis je sais pas si tu vois mais quand meme, l'utilisation en masse de proxy n'est pas forcement evidente et rejoins mon avis sur lespirates chevrones... ni plus ni moins. Le seul but c'etait de proscrire les bots et cela fonctionne malgre tout... certes ce n'est pas parfait mais apres ou va-t-on ?? et pour les certificats, je n'y connais pas grand choses donc je peut pas dire...

@++

signaler à un administrateur
Commentaire de dkdkdk13 le 25/09/2006 19:05:49

Merci pour ce script.
J'ai eu un pb d'affichage de l'image (cf. commentaires plus haut). Ma solution, c'est de mettre putenv()

session_start();
putenv('GDFONTPATH=' . realpath('.'));

Solution prise sur
mtodorovic.ftp-developpez.com/php-gd/gd.pdf
page 21

+++

signaler à un administrateur
Commentaire de stella2809 le 30/10/2006 13:06:04

Salut, un petit probleme qui revient regulierement auquel pas de reponse: l'image s'affiche mais pas les caracteres d'ou cela provient? sinon le code à l'air efficace bravo à l'auteur^^

signaler à un administrateur
Commentaire de stella2809 le 30/10/2006 14:13:54

salut si quelqu'un à une solution merci de me contacter car je m'occupe du site de mon association et je ne sais plus comment faire*snif*

signaler à un administrateur
Commentaire de seyvapul le 06/12/2006 01:22:29

Pour répondre aux problème des mals voyants :
vous pouvez utiliser l'image et en parallèle mettre du son.
C'est pas plus compliqué que cela : ainsi le code sera entendu et lu.

signaler à un administrateur
Commentaire de metis15 le 24/12/2006 14:34:00

Bonjour toul'monde,
je préviens,je suis incapable d'écrire quoique ce soit en code. Bon, cet antispam me conviendrait pour un formulaire qui doit envoyer les nom, téléphone, email et objet sur une adresse email de mon choix.
Quelqu'un peut-il m'ajouter ce qu'il faut, tout prêt ? (;o)))))

Dans le code de la page test.php :
<?php
require_once('antidot.php');
$verify = new ImageVerify;
//Vérification de la saisie
if (isset($_POST['Envoyer']))
{
$bon = $verify->verifyString($_POST['nom']);
if ($bon == true) { echo "OK!!!!!"; } else { echo "Bad!!!!"; }
}
?>

Je peux remplacer...
echo "OK!!!!!";
par un autre texte de mon choix pour  remercier la personne d'avoir transmis sa demande, en reservant la même page... ou une autre ? Mais comment une autre ?

Voilà, merci à qui voudra bien m'aider.

signaler à un administrateur
Commentaire de cube45 le 05/01/2007 18:22:06

Merci pour ce code!!!
Pour une fois que je n'ai pas passé 3 heures à chercher sur google ;)
@METIS15:
echo '<script type="text/javascript">window.location="http://tonsite.com/tapage.php</script>';

c'est du javascript mais c'est pas grave;)

signaler à un administrateur
Commentaire de seyvapul le 05/01/2007 18:28:38

@STELLA2809
est ce que tu as copié le fichier de police dans le dossier ou se trouve le script qui génère l'image ?
Ton problème d'affichage peut éventuellement venir de là.

signaler à un administrateur
Commentaire de titze le 16/01/2007 18:04:39

Nickel, bravo !

signaler à un administrateur
Commentaire de jppsg36 le 05/03/2007 17:11:18

L'ai utilisé, et n'ai pas eu de pb d'interprétation. Clair et simple.

signaler à un administrateur
Commentaire de nico06 le 02/04/2007 14:52:48

Super !
Bravo et merci

signaler à un administrateur
Commentaire de phil1957 le 28/01/2008 06:45:01

Bjr,

Joli script mais impossible d'avoir les lettres et chiffres à l'intérieur de l'image.
Merci d'une réponse simple :)

signaler à un administrateur
Commentaire de coockiesch le 28/01/2008 10:38:41

Yop!
  Es-tu bien sûr d'avoir le comic.ttf dans le même répertoire que ton script? :-)

@++

R@f

signaler à un administrateur
Commentaire de charliecollard le 28/01/2008 20:53:43

Voici une petie suggestion pour commencer par etre un peu plus respectueux des normes d'accessibilité.Il aurait été préférable bien sur d'un fichier css externe mais bon voici ce que donnerait le formualaire :
<html>
<head>
body{
font-family:Comic Sans Ms;
font-size:12pt;}
.Color{
color:#ff0000;
}
</head>
<body >
<form name="code" id="Code" method="post" action="test.php">
Veuillez saisir le code affiché ci-dessous dans la zone "code".<br />
<em class="Color" >Attention : Veuillez saisir les lettres en majuscules et non en minuscules !</em><br /><br />
<?php
$_SESSION['string'] = $verify->createString($charset);
$_SESSION['md5_string'] = md5($_SESSION['string']);
?>
<img src="antidot.php?action=print" border="0" alt="Image de validation du Formulaire" /><br /><br />
<dl>
<dt><label for="nom"> Code :</label></dt>
<dd><input type="text" name="nom" id="nom" size="30"></dd>
</dl>
<br />
<input type="submit" value="Envoyer" name="Envoyer" id="Envoyer">
</form>
</body>
</html>
qu'en pensez vous??

signaler à un administrateur
Commentaire de hasuki le 14/12/2008 13:04:33

bonjour

j'ai utilisé ton code, mais l'image ne s'affiche pas !!!!!

comment je fais ?

si vous pouvez m'aider ce serait gentil

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

générer des miniatures avec gd 1.6 [ par vegetaline ] muhaha alors là c'est rigolo, un super défi pour les programmeurs fous!ok j'ai le code pour générer des miniatures grâce au php, mais ça marche qu'ave Help me [ par YuGiOhFlash ] [size=3] Help je cherche un code:Explication G une page index ou il fo ecrir un code pour voir des images.une page calculetrice pour mettre les images Image sur click .. [ par nicolas66 ] Bonsoir @ tous !Je voulais juste savoir comen il était possible d'afficher une image créee avec php dans la meme page ou il y a un formulaire sur clic imagecolorallocate [ par xylo2 ] Salut !J'ai fait un truc tout basique, je voudrais ajouter un texte sur une image pré-existante.Voici mon code :&lt;?if (!isset($mat)) $mat="Toto";< Probleme code de securité [ par zzzzzz ] Voila je suis debutant en php et j'ai inclue un fichier code.php avec comme contenu: header("Content-type: image/jpeg"); $nbr = rand(10000,100000); PROBLEME GENERATION IMAGE AVEC GD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [ par zzzzzz ] C'est desesperent! jen'arrive toujours pas a comprendre d'ou viens le prob depuis hier :(en fait j'ai un fichier code.php de contenue:&lt;?$nbr = rand echo avec imagecreatefromjpeg ??