Discussion:
protection antiSpam pour formulaire
(trop ancien pour répondre)
slambert
2007-06-05 13:42:00 UTC
Permalink
Bonjour

Y a des tarés qui floodent mes formulaires de contact pour mettre dedans des
pubs de vente de viagra. Je soupçonne des robots chargés de faire cela.

Sans compter le fait que faut vraiment être malade pour faire des trucs
pareils et croire que balancer 20 posts par jours sur mes sites me fera
aller acheter des pilules bleues, je voudrais maintenant mettre une
vérification que le posteur est "humain" lorsqu'il soumet le formulaire.

Je pensais pour cela mettre en oeuvre une solution de code ou de chaîne de
caractère à recopier comme on en voit sur de plus en plus de site.

Quelqu'un a t il une solution particulière qu'il aurait testée et pour
laquelle il aurait été satisfait ? Quelque chose de simple à intégrer, et de
pas trop rebutant. Le but est de s'assurer que le formulaire n'est pas
soumis par un robot, pas de demander à l'utilisateur de passer un test de QI
pour envoyer son formulaire....

Merci d'avance du tuyau !

@ ++

Stef
Olivier Miakinen
2007-06-05 14:16:27 UTC
Permalink
Post by slambert
Y a des tarés qui floodent mes formulaires de contact pour mettre dedans des
pubs de vente de viagra. Je soupçonne des robots chargés de faire cela.
Sans compter le fait que faut vraiment être malade pour faire des trucs
pareils et croire que balancer 20 posts par jours sur mes sites me fera
aller acheter des pilules bleues,
Ce n'est pas pour toi, développeur de la page, qu'ils le font. Si jamais
ton formulaire permet de positionner au moins l'un des champs d'entête
(From:, To:, Reply-To:, Subject:, etc.) et que tu n'as pas interdit dans
ton script PHP les caractères de fin de ligne dans ces champs, alors les
spammeurs peuvent s'en servir pour spammer des milliers d'adresses en
une seule fois. Commence donc par vérifier ça, c'est le plus important.
Post by slambert
je voudrais maintenant mettre une
vérification que le posteur est "humain" lorsqu'il soumet le formulaire.
Je pensais pour cela mettre en oeuvre une solution de code ou de chaîne de
caractère à recopier comme on en voit sur de plus en plus de site.
C'est une mauvaise idée. Il n'y a pas de captcha idéal, et les robots
peuvent en général s'en sortir mieux que les malvoyants (pour ceux sous
forme d'image) ou que les gens peu instruits (pour ceux basés sur une
question).
Post by slambert
Quelqu'un a t il [...] Quelque chose de simple à intégrer, et de
pas trop rebutant. Le but est de s'assurer que le formulaire n'est pas
soumis par un robot, pas de demander à l'utilisateur de passer un test de QI
pour envoyer son formulaire....
Voici une idée qui devrait répondre à ton besoin : ajouter à ton
formulaire deux cases à cocher (checkbox), la première étant visible et
devant être cochée (un truc du genre « je certifie que ces informations
sont exactes »), la seconde étant masquée (display : none) et ne devant
surtout *pas* être cochée.

À la réception, si le 2e checkbox est coché, c'est que tu as affaire à
un robot et tu peux jeter immédiatement. Sinon, si la première n'est pas
cochée, tu reproposes le formulaire à l'utilisateur (prérempli bien sûr)
avec un message demandant de cocher la case.

Cordialement,
slambert
2007-06-05 22:01:54 UTC
Permalink
.... floodent mes formulaires ....
....les spammeurs peuvent s'en servir pour spammer des
milliers d'adresses en une seule fois. .......
Mes formulaires ne génèrent pas d'emails automatiques à des adresse emails
renseignées dans ceux ci.

Mais effectivement, ce point est à prendre en compte pour les cas où cela
serait. C'est vicieux, mais tu as raison, ca pourrait marcher dans certains
cas.
Je pensais pour cela mettre en oeuvre une solution de code ou de chaîne de
caractère à recopier comme on en voit sur de plus en plus de site.
Voici une idée qui devrait répondre à ton besoin : Checkbox
Il y a une idée incontestable. Meme si il suffit d'analyser humainement la
page une seule fois pour faire ensuite un moteur qui marche toutes les fois.
Je vais y réfléchir (j'aime bien laisser une idée germer quelques jours dans
ma tete avantde me ruer dessus). C'est vrai que pour les mal voyants et les
aveugles, ce système tue le web. Saletés de spammeurs....

Et les autres, comment font ils ? Certains ont ils déjà mis des "captcha" ou
des système equivalent ?

@++

Stef
Olivier Miakinen
2007-06-05 22:49:03 UTC
Permalink
Post by slambert
.... floodent mes formulaires ....
....les spammeurs peuvent s'en servir pour spammer des
milliers d'adresses en une seule fois. .......
Mes formulaires ne génèrent pas d'emails automatiques à des adresse emails
renseignées dans ceux ci.
Attention, je dis bien qu'il ne suffit pas d'empêcher l'utilisateur
de remplir les champs To:, Cc: et Bcc: pour interdire le spam à des
milliers d'adresses. Il faut lui interdire *tous* les champs d'entêtes,
ou au moins l'empêcher d'y mettre des sauts de ligne. Cela inclut par
exemple les champs suivants :
- From:
- Date:
- Message-ID:
- Reply-To:
- Organization:
- Subject:
- Content-Type:
- ... et ainsi de suite.

Tu es bien sûr que l'utilisateur ne peut intervenir sur *absolument*
*aucun* champ d'entête ?
Post by slambert
Mais effectivement, ce point est à prendre en compte pour les cas où cela
serait. C'est vicieux, mais tu as raison, ca pourrait marcher dans certains
cas.
Vérifie. Vérifie bien. Ou alors envoie-moi le script en privé, mon
adresse est valide.
Post by slambert
Il y a une idée incontestable. Meme si il suffit d'analyser humainement la
page une seule fois pour faire ensuite un moteur qui marche toutes les fois.
Je vais y réfléchir (j'aime bien laisser une idée germer quelques jours dans
ma tete avantde me ruer dessus). C'est vrai que pour les mal voyants et les
aveugles, ce système tue le web. Saletés de spammeurs....
Si tu veux compliquer un peu le truc, tu rajoutes une petite dizaine de
checkboxes, avec des noms aléatoires, toutes sauf une étant invisibles,
et certaines parmi les non visibles étant déjà remplies. Bien entendu
l'ordre d'inclusion sera aléatoire aussi. Mais bon, c'est peut-être déjà
trop compliqué pour ta page.
Post by slambert
Et les autres, comment font ils ? Certains ont ils déjà mis des "captcha" ou
des système equivalent ?
Je passe.
slambert
2007-06-07 05:16:15 UTC
Permalink
Post by Olivier Miakinen
Vérifie. Vérifie bien. Ou alors envoie-moi le script en privé, mon
adresse est valide.
Vérification a été faite en privé avec Oliver car on est jamais trop sur et
un oeuil externe est toujours la bienvenue :). Il est établit que ces
andouilles ne spamment mon formulaire de contact qume polluer moi et donc
qu'ils n'ont bien aucun interet à le faire.
Post by Olivier Miakinen
Si tu veux compliquer un peu le truc, tu rajoutes une petite dizaine de
checkboxes, avec des noms aléatoires, toutes sauf une étant invisibles,
et certaines parmi les non visibles étant déjà remplies. Bien entendu
l'ordre d'inclusion sera aléatoire aussi. Mais bon, c'est peut-être déjà
trop compliqué pour ta page.
J'aime. Comme c'est un de mes side project, ca attendra ce WE.

Merci à toi Olivier.

@ ++

Stef

Francois Girault
2007-06-05 22:01:55 UTC
Permalink
Post by slambert
aller acheter des pilules bleues, je voudrais maintenant mettre une
vérification que le posteur est "humain" lorsqu'il soumet le formulaire.
cad un captcha : http://fr.wikipedia.org/wiki/Captcha
Post by slambert
Je pensais pour cela mettre en oeuvre une solution de code ou de chaîne de
caractère à recopier comme on en voit sur de plus en plus de site.
un petit stock là :

http://fr.wikipedia.org/wiki/Captcha#PHP

--
FG
Olivier Miakinen
2007-06-05 22:49:03 UTC
Permalink
Post by Francois Girault
http://fr.wikipedia.org/wiki/Captcha#PHP
Allons voir un peu plus loin :
http://fr.wikipedia.org/wiki/Captcha#Casseurs_de_Captcha

J'ai trouvé particulièrement amusante la méthode consistant à faire
casser les Captcha par des amateurs de sites pornographiques :
http://www.boingboing.net/2004/01/27/solving_and_creating.html

Bref, tant qu'il y aura des voyants amateurs de sites pornos, les
captchas risquent surtout d'embêter les aveugles, bien plus qu'ils
n'embêteront les spammeurs...
Denis Beauregard
2007-06-06 08:12:08 UTC
Permalink
Post by Olivier Miakinen
Post by Francois Girault
http://fr.wikipedia.org/wiki/Captcha#PHP
http://fr.wikipedia.org/wiki/Captcha#Casseurs_de_Captcha
J'ai trouvé particulièrement amusante la méthode consistant à faire
http://www.boingboing.net/2004/01/27/solving_and_creating.html
Bref, tant qu'il y aura des voyants amateurs de sites pornos, les
captchas risquent surtout d'embêter les aveugles, bien plus qu'ils
n'embêteront les spammeurs...
Mais ici, on s'attaque à un site unique (yahoo par exemple) pour
créer des comptes valides par millier. On n'utiliserait pas la
même méthode pour 1000 comptes avec du code différent dans chacun.

Pour ce qui est des aveugles et des captchas, ne peut-on pas dire
qu'il s'agit en général d'un besoin peu fréquent puisqu'on tombe
rarement sur ces captchas, sauf certains sites à pub qui veulent
s'assurer qu'il y a un humain en permanence.

Je pensais que la méthode la plus sûre était d'avoir un petit
script en javascript qui rend le lien fonctionnel si on place la
souris sur le lien (mouseover).


Denis
Mihamina (R12y) Rakotomandimby
2007-06-06 08:53:02 UTC
Permalink
Post by Olivier Miakinen
Post by Francois Girault
http://fr.wikipedia.org/wiki/Captcha#PHP
http://fr.wikipedia.org/wiki/Captcha#Casseurs_de_Captcha
J'ai trouvé particulièrement amusante la méthode consistant à faire
http://www.boingboing.net/2004/01/27/solving_and_creating.html
Bref, tant qu'il y aura des voyants amateurs de sites pornos, les
captchas risquent surtout d'embêter les aveugles, bien plus qu'ils
n'embêteront les spammeurs...
Et les aveugles amateurs de sites pornos, alors?

Follow up positionné.
Thierry B
2007-06-06 08:12:08 UTC
Permalink
Post by Francois Girault
cad un captcha : http://fr.wikipedia.org/wiki/Captcha
http://fr.wikipedia.org/wiki/Captcha#PHP
Et après la lecture de la presse people, allons voir
autre chose:

http://sam.zoy.org/pwntcha/

C'est pour quand Wazzle en php5 ?-)
--
New from Bastard Industries: icmpcached - for when you don't want to
wait up to 100ms for your echo replies. icmpcached will ping all the
hosts on the Internet and keep the results in a handy hash table so
you can ping quickly and efficently. Now with icmpswapd integration!
Bruno Desthuilliers
2007-06-06 08:53:02 UTC
Permalink
Post by slambert
Bonjour
Y a des tarés qui floodent mes formulaires de contact pour mettre dedans des
pubs de vente de viagra. Je soupçonne des robots chargés de faire cela.
Non, sans blague ?-)
Post by slambert
Sans compter le fait que faut vraiment être malade pour faire des trucs
pareils et croire que balancer 20 posts par jours sur mes sites me fera
aller acheter des pilules bleues,
A toi, non, non plus qu'a l'écrasante majorité des gens. Mais sur la
masse, il suffit d'un infime pourcentage pour que ça rapporte.
Post by slambert
je voudrais maintenant mettre une
vérification que le posteur est "humain" lorsqu'il soumet le formulaire.
Je pensais pour cela mettre en oeuvre une solution de code ou de chaîne de
caractère à recopier comme on en voit sur de plus en plus de site.
Un captcha, quoi...
Post by slambert
Quelqu'un a t il une solution particulière qu'il aurait testée et pour
laquelle il aurait été satisfait ? Quelque chose de simple à intégrer, et de
pas trop rebutant.
J'ai récemment porté pour spip (pas encore complètement hélas) un plugin
dotclear qui fait ça, et que tu peux trouver ici:
http://www.atelierphp5.com/un-captcha-accessible.html

Sinon, il y a aussi la tactique spip, qui est d'avoir un champ (input
type=text) présenté comme important mais caché par la feuille de style.
Si ce champ est rempli, tu peux être sûr que c'est par un robot...

Mes deux centimes...
Mihamina (R12y) Rakotomandimby
2007-06-06 09:26:05 UTC
Permalink
Post by slambert
Quelqu'un a t il une solution particulière qu'il aurait testée et pour
laquelle il aurait été satisfait ? Quelque chose de simple à intégrer, et
de pas trop rebutant. Le but est de s'assurer que le formulaire n'est pas
soumis par un robot, pas de demander à l'utilisateur de passer un test de
QI pour envoyer son formulaire....
En général, les "robots" n'ont pas (encore) d'interpréteur Javascript.
Si tu faisait un truc Javascript, ça irai peut etre...

Folow up
Anthony
2007-06-06 09:26:05 UTC
Permalink
Post by slambert
Quelqu'un a t il une solution particulière qu'il aurait testée et pour
laquelle il aurait été satisfait ? Quelque chose de simple à intégrer, et de
pas trop rebutant. Le but est de s'assurer que le formulaire n'est pas
soumis par un robot, pas de demander à l'utilisateur de passer un test de QI
pour envoyer son formulaire....
Merci d'avance du tuyau !
@ ++
Stef
je viens d'avoir une idée...
un champ texte simple : "effacer ce champ de formulaire"...
si la personne n'en efface pas le contenu ( !empty )... passer votre chemin.

les robots sont habitués a remplir des champs... de là a les effacer.

bien cordialement,

Anthony
Continuer la lecture sur narkive:
Loading...