[Sécurité des Formulaires ] Eviter les inscriptions automatisées

Eviter les inscriptions automatisées [Sécurité des Formulaires ] - PHP - Programmation

Marsh Posté le 25-05-2007 à 13:13:00    

Bonjour tous le monde !
 
Je ss entrain d'essayer de construire un site avec inscription et tt en partant de ZERO et je voulais intégrer un sécurité dans les formulaires pour eviter les inscriptions automatiques.
 
Jai cherché un peu sur le net et j'ai trouvé qu'on peux dessiner des images avec php : Donc on peut faire ça ! le problème c'est que j'arrive pas à faire des rotations et tout pour générer une image assez compliquée pour qu'elle soit reconnaissable avec un outil de reconnaissance.
 
Donc :
 
1 - j'ai essayé de faire ça avec une applet java à laquelle je passe le code à afficher en mode crypté : l'applet déchiffre le code et l'affiche en faisant des rotations et tout : Voir ici : http://tigzirt2007.free.fr/securite/securite.html
 
Mais je me suis rendu compte que cette technique est assez faible coté sécurité : il suffit de télécharger mon applet , de générer les fichiers .java à partir des .class et de casser l'algorithme qui déchiffre le code.
 
2 - j'ai essayé de réessayer en PHP : meme si je ne fait pas de rotations, j'essaie de rendre l'image floue en colorant des pixels aléatoires Voici le résultat : http://tigzirt2007.free.fr/securite/securite.php
Vosu Pensez Que Cette Technique est suffisante ??
 
3 - Sinon j'ai une 3 eme idée que je n'ai pas encore essayé : je génère pas mal d'images déformées pour les chiffres et caractères en JAVA, je les charge sur le serveur et je construit mon code en combinant ces images déja générées !!  
 
Alors qu'en pensez vous de cette 3 eme technique ??
 
Merci à tous le monde  :jap:  
 
j'attends vos commentaires  
 
bonne journée et à plus


Message édité par asirem le 28-05-2007 à 15:58:34
Reply

Marsh Posté le 25-05-2007 à 13:13:00   

Reply

Marsh Posté le 25-05-2007 à 13:17:42    

Pourquoi pas un captcha classique???
 
Voir la variante rigolote  Asira

Reply

Marsh Posté le 25-05-2007 à 13:49:38    

Merci anapajari :-) ! c'est la premiere fois que je vois ça !
je connaissai pas ça !!
donc je vais voir ça sérieusement . c'est ce que je cherche je pense !
 
ciaoo et merci  :jap:  :jap:  :jap:

Reply

Marsh Posté le 25-05-2007 à 14:38:11    

Arf, génial le coup du Asira :D
 
Ca me fait penser à des sites où pour s'inscrire fallait terminer un petit jeu débile... Ca reprend le même principe :D

Reply

Marsh Posté le 25-05-2007 à 14:55:54    

MagicBuzz a écrit :

Arf, génial le coup du Asira :D
 
Ca me fait penser à des sites où pour s'inscrire fallait terminer un petit jeu débile... Ca reprend le même principe :D


 
 :lol:  :lol:  :lol:  
 
Je ne pense pas qu'il existe de algos qui font la déffirence entre un chat et un chien  :D  :D  
 
Donc il semble que le coup des animaux sur http://www.asirra.com est pas mal  :sol: Voilà un bon sujet de doctorat en intelligence artificielle !
 
aller à bientot ! ciaoo

Reply

Marsh Posté le 25-05-2007 à 15:05:46    

ceci dit, c'est faux. y'a plein de programmes de reconnaissance de formes qui peuvent se débrouiller pas mal avec des photos.
 
mais bon, ça reste des gros outils qui nécessitent une énorme ingénierie pour être paramètrés. donc le jour où tu passe de chien/chat à popple/pokemon faut tout reparamétrer :D

Reply

Marsh Posté le 25-05-2007 à 15:18:33    

j'ai lu qu'il y a aussi des hackers qui utlise sur leurs sites des captchas des autres sites ! ainsi en remplissant un formulaire sur le site du hacker , tu lui remplit à lui un formulaire sur l'autre site sans que tu le sache  :??:  :??:  :??:  
 
par contre pour les algos qui déchiffrent les captchas, je ne sais pas combien de temps ils prennent pour faire ça ???

Reply

Marsh Posté le 25-05-2007 à 15:30:03    

asirem a écrit :

j'ai lu qu'il y a aussi des hackers qui utlise sur leurs sites des captchas des autres sites ! ainsi en remplissant un formulaire sur le site du hacker , tu lui remplit à lui un formulaire sur l'autre site sans que tu le sache  :??:  :??:  :??:  
 
par contre pour les algos qui déchiffrent les captchas, je ne sais pas combien de temps ils prennent pour faire ça ???


c'est dans wiki effectivement.
l'indée est géniale :D
 
pour les algos qui les déchiffrent, c'est pas compliqué. c'est de l'OCR ni plus ni moins. il s'agit ensuite de faire le paramétrage adéquat et tu auras un bon taux de réussite.
 
le seul souci, c'est que l'investissement pour faire de paramétrage (alors que les softs d'OCR sont généralement extrêment complexes et brevetés) est dissuasif

Reply

Marsh Posté le 25-05-2007 à 15:31:47    

les captchas, c'est mal.


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 25-05-2007 à 15:34:56    

MagicBuzz a écrit :


pour les algos qui les déchiffrent, c'est pas compliqué. c'est de l'OCR ni plus ni moins.


 
 :??:  :??:  C'est koi l'OCR ??  :D  
 
C'est la première fois que j'entend parler de ça !  
 
Sinon sur ce forum on apprends tt le temps des choses  :lol:  :lol:  

Reply

Marsh Posté le 25-05-2007 à 15:34:56   

Reply

Marsh Posté le 25-05-2007 à 15:34:59    

c'est pour ça que le petit jeu flash "gagnez un ipod"
(avec aucun prix à la clé)
c'est ce qu'il y a de mieux :D
 
ça te ramène tous les neuneux de la terre en 5 minutes et y'a pas un bot qui peut passer :D

Reply

Marsh Posté le 25-05-2007 à 15:37:02    

cgo2 a écrit :

les captchas, c'est mal.


 
Tu connais un autre moyen meilleurs que les captchas ??  :whistle:  :whistle:  
Moi perso je ne connai pas à part ça et le coup du chien et du chat !!  :D

Reply

Marsh Posté le 25-05-2007 à 15:40:53    

optical character recognition
http://fr.wikipedia.org/wiki/Recon [...] t%C3%A8res
 
quand t'écrit un chèque banquaire...
et que t'écris comme un naz sur ton genoux avec un stylo qui bave...
 
bah y'a un ordinateur à la banque qui va savoir relire ce que t'as écrit en toutes lettres à raison de plusieurs milliers de chèques par heure et un taux d'erreur de moins de 1 pour 1000 (chèques faisant alors l'objet d'une vérification manuelle ou simplement basés sur le montant écrit en chiffre si petite somme)
 
il faut savoir que pour lire ce qu'écrit une personne, il suffit de lire le tiers inférieur de la ligne. pour un captachanmachin, c'est pareil. le plus difficile était alors de trouver la ligne et où se situe le bas de la lettre.
 
mais quand tu vois ce qu'on arrive à lire sur un chèque y'a pas à tortiller... si on se fait bloquer par un catapachamachin, c'est vraiment qu'on a des moyens de kosovar expatrié.


Message édité par MagicBuzz le 25-05-2007 à 15:44:57
Reply

Marsh Posté le 25-05-2007 à 15:43:46    

asirem a écrit :

Tu connais un autre moyen meilleurs que les captchas ??  :whistle:  :whistle:  
Moi perso je ne connai pas à part ça et le coup du chien et du chat !!  :D


si, y'a un moyen très fiable : tu attends un paiement de 0,10 € par paypal pour valider le compte.

Reply

Marsh Posté le 25-05-2007 à 16:05:16    

Aller merci à tout le monde d'avoir apporté ses explications !!
 
bonne aprem et à plus !!
 
 :hello:  :hello:

Reply

Marsh Posté le 25-05-2007 à 16:14:10    

asirem a écrit :

Tu connais un autre moyen meilleurs que les captchas ??  :whistle:  :whistle:  
Moi perso je ne connai pas à part ça et le coup du chien et du chat !!  :D


 
- une url jetable valable 5 minutes (pour eviter du spam automatique)
- un champ qui ne doit pas être remplis (masqué en css, les robots le remplisse quand même)
- une validation de l'inscription par mail, avec purge tous les X jours des inscriptions non validées (classique)
- etc.


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 25-05-2007 à 20:28:19    

Merci pour ces idées, en effet je pense que c'est de bons outils, mais g pas tt pigé  :??:  :??:  
 

cgo2 a écrit :

- une url jetable valable 5 minutes (pour eviter du spam automatique)


 C'est à dire ?? elle va s'utiliser commenr cette URL après ?  :whistle:  :whistle: j'ai pas trés bien compris.
 

cgo2 a écrit :


- un champ qui ne doit pas être remplis (masqué en css, les robots le remplisse quand même)


 
ça , quand le mec construit son script pour le remplissage automatique du formulaire, il peut le prendre en ompte non ?
 

cgo2 a écrit :


- une validation de l'inscription par mail, avec purge tous les X jours des inscriptions non validées (classique)


 
ça j'y avais pensé aussi  :D  mais on ne peut pas lire ses mails de manière automatique ?? c'est à dire un robot ne pourra t'-il pas se ouvrir la boite aux lettres et valider le liens comme si c'était un humain ??
 
Merci et bonne soirée !

Reply

Marsh Posté le 25-05-2007 à 23:15:07    

asirem a écrit :

C'est à dire ?? elle va s'utiliser commenr cette URL après ?  :whistle:  :whistle: j'ai pas trés bien compris.


 
Le principe de l'URL jetable est d'ajouter un hash dans l'url, puis de le vérifier avant de valider l'inscription. Si le hash est expiré, ça retourne une entête http 404 pour indiquer que la page n'existe plus.
 
Une méthode simple pour faire un hash : prendre le temps (time), un secret partagé, et touiller le tout avec des opérations sur les bits (and, or, xor, etc.), des conversions de bases, etc. Peut importe du moment que c'est reversible (pas de md5 et compagnie donc).
 
Exemple simple :

Code :
  1. // hashage
  2. $secret = "toto"; // secret partagé
  3. $time = time();
  4. $hash = base_convert($time ^ $secret, 10, 36); // on mélange ça avec un xor et un base_convert pour réduire la taille
  5. echo $hash,"\n"; // passer cette valeur dans l'url de la page qui valide le formulaire
  6. sleep(5);
  7. // vérification (normalement à faire dans une autre page)
  8. $time = (int) base_convert($hash, 36, 10) ^ $secret;
  9. echo 'Votre hash date de ',time() - $time," secondes\n";


 
Tu peux considérer que si le hash date de moins de 2 secondes (remplir un formulaire d'inscription en 2 secondes faut être sacrement rapide), ou plus de X minutes (à toi de voir selon le temps qu'il faut), c'est surement un spam automatique.
 

asirem a écrit :

ça , quand le mec construit son script pour le remplissage automatique du formulaire, il peut le prendre en ompte non ?


 
Ca dépend. Si tu utilises des applis php toutes faites (blog, forum, etc.) je suppose que les scripts existent déjà et ajouter un champ non prévu les bloque. De même si ton application se fait déjà spammer, ajouter ce champ bloquera les scripts existants.
 

asirem a écrit :

ça j'y avais pensé aussi  :D  mais on ne peut pas lire ses mails de manière automatique ?? c'est à dire un robot ne pourra t'-il pas se ouvrir la boite aux lettres et valider le liens comme si c'était un humain ??


 
Oui bien sûr, mais j'ai rarement vu un spammeur mettre une adresse e-mail valide :sarcastic:


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 25-05-2007 à 23:41:52    

cgo2 a écrit :


Oui bien sûr, mais j'ai rarement vu un spammeur mettre une adresse e-mail valide :sarcastic:


 
Oui justement cette fois le spammeur va construire une boite mail spécialemnt pour ça.  :D  :D  donc il parviendra à ses fins.
 
par contre j'ai pensai aussi : puisque le construction d'un script pour l'automatisation se base sur les champs du formulaire, pourquoi ne pas changer à chaque fois les nom des champs d'un mannière aléatoire ?? et on garde dans $_SESSION une correspondance vrai-nom-du-champ => son-alias !
ça peut etre bien non ?
 
Merci merci ! à demain je vais me coucher  :sleep:  :sleep:  ciao

Reply

Marsh Posté le 26-05-2007 à 10:12:10    

Pourquoi pas ! C'est une idée un peu lourde à mettre en place, mais qui sera surement efficace (enfin, jusqu'à ce que quelqu'un code un bot de spam qui gère les sessions...).
 
Tu vois qu'il n'y a pas que les captchas dans la vie :)


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 26-05-2007 à 10:54:57    

Et bien oui !! cpté sécurité des forumlaires , j'ai appris pas mal de choses. Ja vais essayer d'intégrer la meilleure solution dans mes formulaires à l'avenir. Ce que j'ai remarqué aussi c'est que les spammeur en général utilisent régulieurement les memes nom ou mail ou font de la pub pour les memes produits ! :D  :D  Donc une bonne idée serais de rajouter une table contenant une liste des mots interdits  :)  j pense qie cette idée est déja mise en place dans les forums genre PHP-BB.
 
Merci et  bonne journée

Reply

Marsh Posté le 26-05-2007 à 16:40:55    

jer peux te porposer un "captcha" intelligent : autant les images sont tellement déformées qu'on n'arrive même plus à les relire correctement, autant ma solution peut se passer d'images, mais surtout elle permet de préserver l'accessibilité d'un formulaire.
 
voir par ici : http://www.php-astux.info/formulaires-anti-spam.php
Ce n'est pas *LA* solution, c'est juste une contribution personnelle.

Reply

Marsh Posté le 26-05-2007 à 22:26:45    

Merci beaucoup ! je vais regarder ça de près dès que je reponds le programmation. je vais me reposer qq temps ! :D  :D  je suis à bout de souffle :(  :( .
 
Sinon après je vais essayer de bien comprendre tout ça et peu etre que je vais utiliser la validation par mail et par captcha à la fois !  :sol: C'est un peu lourd mais les gens devront comprendre !!
 
Sinon pour le site je le trouve trés sympa.
 
 
Merci à tous le monde et bonne soirée.

Reply

Marsh Posté le 27-05-2007 à 20:27:09    

NewsletTux a écrit :

jer peux te porposer un "captcha" intelligent : autant les images sont tellement déformées qu'on n'arrive même plus à les relire correctement, autant ma solution peut se passer d'images, mais surtout elle permet de préserver l'accessibilité d'un formulaire.


 
Si j'ai bien compris, tu fais des images qui contiennent une question, genre opération mathématique ? Le problème, c'est que ce n'est pas plus accessible que les autres captchas.  :o  
 
http://www.w3.org/TR/turingtest/
 

Citation :

3.1 Logic puzzles
 
The goal of visual verification is to separate human from machine. One reasonable way to do this is to test for logic. Simple mathematical word puzzles, trivia, and the like may raise the bar for robots, at least to the point where using them is more attractive elsewhere.
 
Problems: Users with cognitive disabilities may still have trouble. Answers may need to be handled flexibly, if they require free-form text. A system would have to maintain a vast number of questions, or shift them around programmatically, in order to keep spiders from capturing them all. This approach is also subject to defeat by human operators.


 

Citation :

Sinon après je vais essayer de bien comprendre tout ça et peu etre que je vais utiliser la validation par mail et par captcha à la fois !  :sol: C'est un peu lourd mais les gens devront comprendre !!


 
Ah bon ? Tu considères que tes utilisateurs doivent subir les conséquences du spam, en se tapant des calculs à faire, des images à reconnaitre, des animaux à classer, ou que sais-je encore ? Moi j'ai décidé que non et je prefère utiliser des solutions techniques, certes imparfaites, mais qui restent invisibles.


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 27-05-2007 à 23:45:44    

Citation :


Si j'ai bien compris, tu fais des images qui contiennent une question, genre opération mathématique ? Le problème, c'est que ce n'est pas plus accessible que les autres captchas.


 
je ne vois pas en quoi c'est moins accessible ... La question est écrite en bon français dans la balise "alt", donc pour les gens qui ne voient pas l'image, ils ont le texte qui pose clairement la question.
 
Alors oui, c'est vrai qu'il y a une part d'inaccessibilité : si tu ne sais pas que 2 x 2 = 4 et si tu ne sais pas écrire "quatre" pour l'exemple mis en exergue, tu ne pourras jamais valider le formulaire.
 
Mais entre résoudre 2x2 pour répondre "quatre" et lire des chiffres tordus dans tous les sens où tu confonds le 1, le L, le i ou encore le 0 et le O, mon choix est vite fait ...
 
Maintenant si ce que tu évoques soulève un pb que je n'ai pas vu (ce qui est possible, je n'ai jamais prétendu posséder la solution absolue), dis-le moi que je puisse suivre ton raisonnement.
 

Citation :

A system would have to maintain a vast number of questions, or shift them around programmatically, in order to keep spiders from capturing them all


c'est un peu ce que fait ma solution, en tirant au sort une question parmi une liste... La liste ne présente, certes, que 2 questions, mais libre aux gens d'en ajouter et de modifier les 2 existantes.
 

Reply

Marsh Posté le 28-05-2007 à 15:57:59    

Re-Salut tout le monde !
 
Et bien j'ai bien pensé au captcha et ma conclusion est : captcha sous forme d'une opération mathématique ou pas , ça reste toujours faible vu que l'ordinateur pourra lire .  
 
Par exemple si l'image affichée est 1+2 et l'utilisateur dois taper 3. Et bien à partir du moment ou un ordi pourra reconnaitre l'image, on peut alors intégrer en plus un parseur ( analyseur lexical ou syntaxique) pour que l'ordinateur comprenne qu'il s'agit d'ajouter 1 à 2 et ça il sais le faire.
 
Donc !!! même les captcha sous forme d'equations mathématiques restent insuffisantes à mon avis.

Reply

Marsh Posté le 28-05-2007 à 16:28:24    

Aucun captcha n'est infaillible (ne serait-ce que parce qu'un humain peut le remplir à la place d'un robot, un humain quibosserait à la chaîne). Mais si le captcha est suffisant pour les 6 mois à venir, t'es déjà bien content ;) Surtout s'il est inaccessible à un minimum de personnes.

 


NewsletTux a écrit :

je ne vois pas en quoi c'est moins accessible ... La question est écrite en bon français dans la balise "alt", donc pour les gens qui ne voient pas l'image, ils ont le texte qui pose clairement la question.


Si tu l'écris dans le "alt" tu rends ton captcha accessible (trèèès bon point) mais un robot - dans l'hypothèse où un spammeur s'intéresserait spécifiquement à ton site - va vite en venir à bout vu qu'il peut lire l'information. A défaut de comprendre cette question, le robot peut la comparer avec des couples question/bonnes réponses qu'un humain lui aurait préparé.
Enfin faut vraiment pas avoir de bol ou un site à fort trafic pour qu'un spammeur s'intéresse à ton système plutôt qu'aux filtres Wordpress, Dotclear, bancaires, etc :jap:

  

EDIT: Asirra ne fonctionne qu'avec JS ou bien j'ai mal lu/compris? Dommage ...


Message édité par phosphoreloaded le 28-05-2007 à 16:30:35
Reply

Marsh Posté le 28-05-2007 à 22:51:51    

@asirem : le but du jeu n'est pas d'écrire "3" mais "trois", ce qui donne une grosse difficulté supplémentaire pour un robot ...
 
@phospho[...] :  oui, aucun captcha n'est infaillible, et c'est bien ce que j'ai précisé dans mon article. Mais c'est aux gens de varier leurs questions, et selon le degré d'abstraction qu'il y a, ça peut vite devenir un casse-tête pour les robots ...
Ex : quelle est l'invention qui permet de voir à travers le mur <=> fenêtre : va donc faire un robot qui trouve ça ^^ (bon, maintenant que je l'ai écrit en clair, peut-être que .... ;D)

Reply

Marsh Posté le 29-05-2007 à 08:25:07    

NewsletTux a écrit :

@asirem : le but du jeu n'est pas d'écrire "3" mais "trois", ce qui donne une grosse difficulté supplémentaire pour un robot ...


 
C'est clair que c'est une super grosse difficulté pour un robot de faire une table de correspondance "trois" => 3  :sarcastic:  
 

NewsletTux a écrit :

@phospho[...] :  oui, aucun captcha n'est infaillible, et c'est bien ce que j'ai précisé dans mon article. Mais c'est aux gens de varier leurs questions, et selon le degré d'abstraction qu'il y a, ça peut vite devenir un casse-tête pour les robots ...
Ex : quelle est l'invention qui permet de voir à travers le mur <=> fenêtre : va donc faire un robot qui trouve ça ^^ (bon, maintenant que je l'ai écrit en clair, peut-être que .... ;D)


 
D'abord ça ne sera jamais un casse-tête, parceque des questions compliquées comme celle là, tu ne peux pas les générer automatiquement. Il te faut donc une liste et un tirage aléatoire. A partir de là, n'importe qui ayant un peu de temps fait suffisamment d'essais pour récupérer la liste, programme les réponses, et adieu ta super protection.
 
Ensuite, ça serait bien de penser aux utilisateurs à un moment. Combien vont répondre "fenetre" sans accent ? Combien vont répondre "une fenetre" ou "des fenetres" ? Combien vont répondre avec des fautes d'orthographe (parceque sms style) ? combien vont répondre "une vision laser", "des lunettes magiques", "on peut pas voir à traver un mur banane", etc. Combien ne parleront pas suffisamment bien français pour comprendre la question ?


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le 29-05-2007 à 09:51:42    

c'est également ce que j'ai écrit dans mon article ... J'ai pris l'exemple de la porte, d'une porte, ou de "porte" tout court : c'est au concepteur de savoir poser une question précise. Et pour éviter d'autres soucis, j'ai prévu un strtolower pour ne pas tenir compte de la casse.
Et puis si "trois" ne représente pas une difficulté supplémentaire, peut-être qu'en nombre plus complexe ça l'est. Et comme cité plus haut, ma méthode est améliorable, et on peut également inclure dans les réponses les fautes d'orthographe. (mais inclure trop d'écritures possibles rend plus permissif le formulaire, faut prendre ça en compte)
 
J'ai vu un dotclear, leur protection est similaire à la mienne ... (ou peut-être l'inverse, j'en sais rien, j'ai jamais utilisé Dotclear).
 
Critiques-tu de la même manière leur système ?
 
Et puis pour récupérer la liste de toutes les questions, même si, dans l'absolu, tu ne peux pas être certain de toutes les avoir (vu qu'il y a un tirage aléatoire) est faisable, mais faut vraiment qu'on en veuille à ton site, ce qui a été dit par phospho :

Citation :


Enfin faut vraiment pas avoir de bol ou un site à fort trafic pour qu'un spammeur s'intéresse à ton système plutôt qu'aux filtres Wordpress, Dotclear, bancaires, etc

Message cité 1 fois
Message édité par NewsletTux le 29-05-2007 à 09:55:04
Reply

Marsh Posté le 29-05-2007 à 10:08:13    

NewsletTux a écrit :

J'ai vu un dotclear, leur protection est similaire à la mienne ... (ou peut-être l'inverse, j'en sais rien, j'ai jamais utilisé Dotclear). Critiques-tu de la même manière leur système ?


 
D'après ce que j'ai vu Dotclear intègre des filtres invisibles pour les utilisateurs (badwords, adresse ip, akismet, etc.). J'ai pas vu de captcha par défaut. Mais si effectivement ils en ont mis un, alors oui je critiquerais de la même manière.
 
Un système qui fait payer les conséquences du spam aux utilisateurs en leur ajoutant des "épreuves" (images, questions, ou autre) pour prouver qu'ils sont vraiment "humains" est un mauvais système. C'est tout.


---------------
When it's from Finland it's good.  - Mon blog
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed