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 !

TEXTE GRAPHIQUE SANS GDI


Information sur la source

Catégorie :Graphique Classé sous : GDI, Texte, Objet Niveau : Initié Date de création : 15/04/2008 Date de mise à jour : 15/04/2008 13:33:49 Vu / téléchargé: 3 058 / 129

Note :
9,5 / 10 - par 4 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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


Description

Cliquez pour voir la capture en taille normale
Afin de securiser l'envoi de formulaire, on demande souvent de réecrire un texte dans une image. Générer cette image demandais l'utilisation des bibliothèques GDI integrée à PHP.

Ma source permet très simple de refaire la même chose sans GDI
- Par un appel de fonction (version sequenctiel)
- Par l'instanciation d'un objet et appel de methode (version objet)
 

Source

  • Tout est dans le zip ;p
Tout est dans le zip ;p

Conclusion

La source contient 2 fichier php, etant chacun une version differente du même code (sequencielle ou objet)

La source n'est pas achevée, car, chaque caractère est enregistré sous un flux binaire, normalement sauvegardé en base de donnée. Ici pour simplifier la comprehension du code, les flux binaires sont ecrit en dur. Bien entendu une version finale pourra integrer une base de données SQLite pour sauvegarder les 'image caractères' sous forme de flux contenu dans un vecteur.

Le code doit être encore optimiser, mais je préfère deposer cette source plutôt pour que chacun puisse comprendre comment j'ai fait, et non simplement copier sans comprendre ;p
 

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

15 avril 2008 13:33:49 :
(explication de la source non explicite)

Commentaires et avis

signaler à un administrateur
Commentaire de TheWeasel47 le 15/04/2008 15:48:12

Waaaaaaaaooooo ça c'est balaise!!!!!!! Franchement

signaler à un administrateur
Commentaire de TheWeasel47 le 15/04/2008 15:52:51 9/10

Faudrait voir avec des pro des robots spam

signaler à un administrateur
Commentaire de neigedhiver le 15/04/2008 19:54:37

Salut,

Juste pour dire qu'il faudrait ne pas confondre GD et GDI... Ca n'a rien à voir : ça ne sert pas à faire la même chose, licences totalement opposées, etc.

signaler à un administrateur
Commentaire de malalam le 15/04/2008 22:05:59 administrateur CS 10/10

Hello,

je doute fort de la viabilité de ce captcha, MAIS l'idée est sympa. Et tu peux facilement améliorer (ou détériorer en fait...) la lisibilité vu que si je pige bien, tu crées les images directement comme si on lisait leur binaries. Bref : tu crées tes lettres tordues et horribles, voire plusieurs, tu les enregistres, tu les ouvres avec textpad, vi, notepad ou ce que tu veux, tu les "binarises", et tu les fous dans ton code/fichier/bdd.

Bref, j'aime bien l'originalité de l'idée.
J'ai pas grand chose à dire sur le code qui est ma foi très correct (il y a bien 2-2 trucs qui me chiffonnent mais c'est minime et le code est original et sympa donc je laisse tomber).

Bravo.

signaler à un administrateur
Commentaire de Hakumbaya le 15/04/2008 22:19:33

A oui, un point important que je n'ai pas précisé dans le decritif du code, c'est que ce code reposer sur du CSS (voir la declaration dans le "head" de chaque page), ce qui veux dire qu'il est plus que probable que ce dernier ne donne rien sur des navigateur type IE.

Ce n'est pas une lubie, mais simplement, je me conforme aux CSS firefox qui sont les plus proches des normes spécifiés par l'IEEE et les normes ISO

signaler à un administrateur
Commentaire de malalam le 15/04/2008 22:21:51 administrateur CS

Non, le navigateur le plus respectueux est sans doute Opera, mais certainement pas Firefox. Plus proche qu'IE, je veux bien. Mais pas LES plus proches.
Mais bon.

signaler à un administrateur
Commentaire de Hakumbaya le 15/04/2008 22:25:07

Je suis tout a fait d'accord, mais très peu de personne utilise aujourd'hui encore Opera bien qu'il soit incontestablement le navigateur le plus au normes.

Simplement, firefox rivalisant avec IE, et etant très repandus, j'ai tendance a faire comme si Opera n'etait plus utilisé (encore désolé)

signaler à un administrateur
Commentaire de neigedhiver le 15/04/2008 22:42:04

Euh... 'scusez moi d'vous d'mander pardon, mais... Opera le plus proche ? De ce que je lis, ce serait Amaya ou Safari... Mais bon... Comme personne n'est jamais d'accord pour ce genre de test...

signaler à un administrateur
Commentaire de malalam le 15/04/2008 22:48:21 administrateur CS

Safari ? Oui Safari est respectueux. Mais pas autant qu'Opera aux dernières nouvelles. Loin de là même.

Amaya ? Amaya a été créé par le w3c, donc forcément...mais Amaya n'est PAS un navigateur. C'est bien plus que ça.
Et puis, surfe sur tes projets avec Amaya...tu vas pleurer lol. Ne serait-ce que parce qu'il ne comprend QUE ce que le w3c recommande. Exit le javascript...entre autres choses. En tous cas dans la version que j'ai testé il y a quelques années.

Et pour ce genre de discussions, pas besoin d'être d'accord, mais de pouvoir tester ;-)
http://www.webstandards.org/files/acid2/test.html#top

signaler à un administrateur
Commentaire de neigedhiver le 15/04/2008 22:56:05

Ben oui, mais comme ça change d'une version à l'autre, d'un OS à l'autre, que ça dépend aussi de la version du moteur utilisé... Qu'il parait même que IE 5.5 était plus respectueux que IE6 ou 7... Bref...
Sinon, c'est un débat qui n'a pas vraiment sa place ici lol Mais on pollue beaucoup ces temps-ci lol

Bon... pour revenir rapidement à la source...

Ma première impression en la voyant ce matin (vers 15h), c'est que je me suis retrouvé au temps de QuickBasic sous DOS, quand je m'amusais à dessiner des lettres pixel par pixel. Nostalgie...
Et donc, effectivement, j'ai aussi beaucoup aimé le principe. Quant à la mise en pratique, c'est autre chose (est-ce vraiment intéressant à utiliser, question performances notamment ?). Mais l'idée, j'ai accroché.
J'aurais peut-être des critiques à faire sur la classe en elle-même, mais bon...

signaler à un administrateur
Commentaire de neigedhiver le 16/04/2008 01:28:43 9/10

Re,

"Faudrait voir avec des pro des robots spam"

Je suis pas un pro des robots spammeurs ni des captchas, mais... Etant donné qu'il n'y a pas d'image à scanner, les robots vont avoir du mal... Si un robot veut "décoder" l'image, il pourra facilement le faire en lisant le html. Seulement, a priori, les captcha sont des images, le plus souvent. Donc on peut TRES facilement casser ce captcha (si coucou747 passe par là...), mais encore faut-il savoir que ce n'est pas une image qu'il faut lire, mais du html.
Cependant, une fois qu'on sait ça, reproduire l'algorithme en sens inverse est assez facile (pour ceux qui aiment les maths, hein, pas pour moi)

signaler à un administrateur
Commentaire de coucou747 le 16/04/2008 19:53:31 10/10

pour tes lettres, tu peux utiliser un format de font de consoles unix, c'est vraiment simple a lire (tu lis 8 octets, t'as une lettre en noir et blanc, en 8*8)

sinon, au rendu, ca a l'air simple a casser, mais en fait, quand on voit que c'est un code facilement modifiable, cacheable, etc... ca rend la tache beaucoup plus complexe...

c'est tres original, c'est le mix entre les captchas textes et les images.

signaler à un administrateur
Commentaire de boujan le 20/04/2008 20:59:43

j'ai l'impresion que ce code ne comprend que la chaine 'CODETEST1'? JE ME TROMPE ?

signaler à un administrateur
Commentaire de Hakumbaya le 21/04/2008 15:12:55

Non, non, la chaine est parametrable (sinon ca n'aurai aucun interet :p !)

signaler à un administrateur
Commentaire de TheWeasel47 le 21/04/2008 15:36:48

Si la taille du carré gris ne s'adapte pas au texte saisie (exemple un texte plus long que codetest1) mais bon c'est juste une adaptation à faire!
Sinon une chaine plus courte marche nikel

TheWeasel47

signaler à un administrateur
Commentaire de aKheNathOn le 22/04/2008 11:06:47

Sympa le code, le principe est bien également, parcontre c'est très peu optimisé ressources et affichage : pour 50x150 tu aura 7500 tags pixel, bonjour la bande passante et les ressources mémoire (regardes la RAM quand tu ouvre ta page)

De plus tu pixelise le background, ce n'est pas la peine. Mets un div avec le background de la taille de ton image, puis pixelise que seulement les points des caractères - ca diminuera la taille de ton fichier.

Maintenant, concernant le niveau de sécurité du captcha (sans être un expert spammeur) il n'est pas efficace.

Tu sérialise les pixels dans l'ordre, donc n'importe quel newbie va facilement reconstituer le tableau de bits initial et le comparer avec le dictionnaire que tu proposes. Déjà ce serais plus judicieux de ne pas envoyer les bits dans l'ordre.

Rien que le fait de ne pas envoyer les 0 va compliquer un peu la tâche. Mais bon, c'est toujours facilement piratable, on peut à partir des TOP et LEFT indiqués retrouver les coordonées de chaque point et tes fonts vont facilement être reconnus par un OCR. Une solution serais de les parasiter puis faire des tests.

Sinon, juste une question :
Pourquoi ne pas passer en SVG puisque c'est plus fait pour du dessin que le HTML.

Bonne continuation sur ton projet,
Akh

signaler à un administrateur
Commentaire de coucou747 le 22/04/2008 12:56:34

pour avoir eclate differents captcahas :) http://www.javafr.com/codes/LECTURE-CAPTCHA_45965.aspx (pour les derniers) je peux te dire que ce captcha en l'etat n'est pas vraiment efficace, mais est TRES interessant, car parser une image ou un texte xhtml, c'est pas DU TOUT la meme chose...

ok certains spammeurs utilisent des moteurs de rendus comme gecko ou autre moteurs libres (mais ceux la on y peut pas grand chose)
mais pour les autres spammeurs, c'est tres difficile de lire du xhtml. Il existe plusieurs centaines de facons de cacher son code Xhtml, ou de faire en sorte que l'attaque soit longue... (ne pas fermer toutes les balises, mettre minuscule et majuscule, faire en sorte que certains pixels ne soient pas affiches, soit par javascript, soit par style CSS, jouer un peu sur les couleurs, par exemple, faire un javascript qui les modifie, et faire en sorte que ca soit javascript qui affiche l'image...)

Les possibilites sont tres nombreuses... En resume, ce code en l'etat est relativement simple, mais a mon avis, on peut le faire evoluer vers un truc TRES fort, et ce, beaucoup plus facilement qu'avec une image...

signaler à un administrateur
Commentaire de aKheNathOn le 22/04/2008 13:15:03

D'accord sur le principe, changer de support. Parser les pixels d'une image, effectivement c facile. Parser le XHTML actuel l'est tout autant - mais surement avec du javascript derrière l'encryptage peut être un peu plus fort et surement la taille plus optimisée.

Je me pose juste une question : pourquoi passer par du xhtml & css au lieu de le faire en SVG ?

Faire une anim de morphing partant d'un trait vers le résultat final, comme ça les moteurs de rendu GECKO ou autre n'y vérront pas grand chose.

Et puis, vu que le CAPTCHA neccessite une intervention humaine, pourquoi ne pas en faire un ticket à gratter vite fait. Je trouve que le XHTML / CSS / JavaScript devient un peu limité à ce moment.

Au pire le faire en flash mais c'est plus difficile de générer le flux dynamiquement.

signaler à un administrateur
Commentaire de coucou747 le 22/04/2008 13:24:20

si tu me trouves un algo qui fait apparaitre un truc sans le stoquer en dur des le depart... bah t'auras un catpcha "animation" fiable

perso, je reflechissais a comment faire ca avec des interpolations par exemple, mais l'algo stoque les points...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

boutons scrolls incompatible avec mon lecteur video [ par layonn ] Bonjour, J'ai un ti problème au niveau de mes boutons scroll.. Ils fonctionnent sans problème lorsque c'est un texte qui doit défiler mais lorsque c'e imed [ par tesnim1 ] imedje cherche d'un code de remplacement des images ou des texte dans une page html à partir une base de données c.a.d que l'objet(texte ou image) son probleme fckeditor- j'arrive pas à écrire dans la zone de texte sous easyphp [ par infogeneral ] SVP j'ai un problème avec fckeditor. j'ai décompresser fckeditor2.6.3 et je l'ai placer dans www sous easyphp en local, mais quand je tape l'url : htt Intégration objet COM dans PHP [ par a_dauguet ] Bonjour,Je me suis fait un petit objet COM en c++ que j'apelle depuis PHP.Le pb est qu'a chaque fois que j'appelle la page l'objet semble se reinstanc Comment mettre le resultat d'une requete dans une zone de texte existante [ par coco68100 ] christouf ajouter du text dans un input text [ par coco68100 ] Bonjour un petit coup de pouce serrais sympa!J'ai une zone de texte qui recois le resultat d'une requete(qui vient d'une autre page)&lt;input type="te Afficher un message d'erreur avant retour formulaire [ par patric31 ] Bonjour à toutes et à tous,Je suis tout nouveau et chez vous et chez M. et Mme PHP et leur petit SQL.J'ai créer un formulaire de saisie tout simple :& coder/décoder du json [ par sagat06 ] Bonjour à tous,j'ai récemment installé en local php 5.2.6 dans le but d'avoir nativement json_decode et encode();Jusqu'alors je codais des objet json integrer un editeur de texte dans un site [ par chat blanc ] Bonjour tout le monde;comment je peut intégrer un éditeur de texte ( comme celle de ce forum) <div class="m menu déroulant PHP+CSS inline+block [ par nomitruk ] Bonjour,Je travaille depuis 3 jours sur un menu déroulant horizontal (inline) au "premier rang" et vertical (block) au "deuxième rang". J'ai glané pas


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.