Spammeur qui déclenche mon formulaire

WRInaute passionné
Salut à tous,

J'ai un formulaire contact en html, rien de bien compliqué : champs prénom, nom, email, message, etc... lorsqu'on clique sur le bouton "envoyer le message" du javascript empêche l'envoi du message si tout les champs requis ne sont pas remplis et ensuite j'ai un traitement en php qui vérifie que les variables $_POST['nom'], $_POST['prenom'] etc.. existe bien et qu'elles ne sont pas vides. Mais un robot de me...rde arrive à déclencher l'envoi de centaines de messages malgré tous ces filtres, voici le type de message qu'il poste via mon formulaire contact :

Code:
<html><body><font face="arial" size="3">Message de <b> Bubydydayaa Bubydyday</b> le 12 Octobre 2012</font><hr size="1" size="100%"><font face="arial" size="2"><b>Prénom, Nom:</b> Bubydydayaa Bubydyday bubydyday, France<br><b>Téléphone:</b> 123456&nbsp;&nbsp;<b>Fax:</b> 123456<br><b>Site Web:</b> <a href="http://canadagoosetakkinetist.webeden.net/

">http://canadagoosetakkinetist.webeden.net/

</a><br><b>E-mail :</b> <a href="mailto:fe.ij.ie3.80.9@gmail.com

">fe.ij.ie3.80.9@gmail.com

</a><br><hr size="1" size="100%"><b>Message:</b> WijbNIDR <a href=http://canadagoosetakkinetist.webeden.net/>canada goose expedition parka</a>

 yfjdFHNsr http://canadagoosetakkinetist.webeden.net/

 gjhwmqaurh <a href=http://canadagoosetakkinetist.webeden.net/#0410>canada goose expedition parka</a>

 XOBzHinoa vdzkiw <a href=http://canadagooseoutletsverige.webeden.net/>canada goose</a>

 KqsAUIFMufa<hr size="1" size="100%"><b>IP:</b> 199.15.234.80<br><b>Host:</b> 199.15.234.80</body></html>

Comme on peut le voir le prénom est Bubydydayaa et le nom Bubydyday le nom est donc presque identique au prénom, en tout les cas le nom est toujours contenu dans le prénom, j'ai donc mis un filtre supplémentaire en php qui normalement ne doit pas déclencher l'envoi du formulaire si le nom est contenu dans le prénom, j'ai testé mon filtre php et il fonctionne (pour moi :) ) mais pas pour ce foutu robot :evil: qui continur d'envoyer les messages malgré tous ces filtres, comment le stopper ?

A la fin du message on voit son adresse IP, j'avais pensé le bloquer par l'adresse IP mais elle change tout le temps :?

Merci pour votre aide.
 
WRInaute occasionnel
Tu peux créer un anti-robots maison.... (addition, recopiage de mot en image...)
Tu peux même faire une protection session md5.

Il y a plein de solution...
 
WRInaute passionné
Moi, je controle tout manuellement, mais je me facilite le travail en faisant un pré-traitement qui analyse la fréquence des lettres (par exemple le "kk" est un flag, aussi "tsv" ainsi que "gjhwmq","yfjdFHNsr","vdzk", etc.... ) de façon à flagger un tel message comme spam potentiel.
 
WRInaute passionné
Merci pour vos réponses.

-Romu- a dit:
Tu peux créer un anti-robots maison.... (addition, recopiage de mot en image...)
Tu peux même faire une protection session md5.

Il y a plein de solution...
Qu'entends-tu par "addition, recopiage de mot en image" si c'est du captcha dont tu parles, j'ai lu que les robots spammeurs passaient aussi à travers les captcha :?

Comment veux-tu faire une protection via les session md5 pour un formulaire contact, il n'y a pas de données stockés en BDD à comparer avec celles cryptées par le md5 des champs du formulaire, je ne vois pas là :?

MikeR a dit:
Moi, je controle tout manuellement, mais je me facilite le travail en faisant un pré-traitement qui analyse la fréquence des lettres (par exemple le "kk" est un flag, aussi "tsv" ainsi que "gjhwmq","yfjdFHNsr","vdzk", etc.... ) de façon à flagger un tel message comme spam potentiel.
Comment tu fais cela en php "analyse la fréquence des lettres" ?
 
WRInaute passionné
Avec les expressions régulières en php, quelque chose de ce type :
Code:
!preg_match('/[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]{4,}/',$txtNom)
= pas plus de 3 consonnes consécutives dans le champ $txtNom.
 
WRInaute discret
Tu ajoutes un champ email caché(tu peux aussi utiliser les CSS) comme ceci à ton formulaire :
Code:
<input type="hidden" name="email" id="idemail" value=""/>

Si ce champ est rempli tu as affaire à un robot.
 
WRInaute passionné
tu peux aussi vérifier que le cookie analytics est présent (si tu l'utilises). Ca élimine les robots qui n'exécutent pas le JS.
 
WRInaute passionné
Merci pour toutes vos réponse.

J'avais pas pensé à toutes ces astuces : expressions régulières pour détecter 3 ou 4 consonnes consécutives, ou un champs email caché...

Je vais essayé tout cela, encore merci :D
 
WRInaute occasionnel
shaman99 a dit:
Tu ajoutes un champ email caché(tu peux aussi utiliser les CSS) comme ceci à ton formulaire :
Code:
<input type="hidden" name="email" id="idemail" value=""/>

Si ce champ est rempli tu as affaire à un robot.

C'est mieux cachés par le CSS que par hidden dans le html et ca marche bien.
 
WRInaute passionné
Salut,

Perso, j'évite tout ce qui peut ennuyer un vrai visiteur, donc, j’évite les questions/réponse, les captcha, etc...

Coté traitement, comme certain, détection de +3 consonne de suite, bloqué.
Je me sert également des session pour détecter le temps mis entre l'arrivée sur la page et la validation du formulaire. Si trop rapide... bloqué.
Contrôle des info à recevoir. Si c'est un formulaire de contact, la moindre balise html, hop, bloqué.
Si c'est du com', les balises autre que ul, ol, dl, a, b, strong... (autorisées) hop, bloqué.

Une alerte mail à chaque com posté afin d'intervenir en cas de flood.

Et pour finir, une table avec les IP qui passe tout de même et plus de soucis, ou très rarement.
 
WRInaute occasionnel
shaman99 a dit:
Tu ajoutes un champ email caché(tu peux aussi utiliser les CSS) comme ceci à ton formulaire :
Code:
<input type="hidden" name="email" id="idemail" value=""/>

Si ce champ est rempli tu as affaire à un robot.

Ca n'a l'air pas con du tout ca !
 
WRInaute passionné
Le problème du champs caché, c'est l'accessibilité.

Tu le cache via un type=hidden, les robots le voient.
Tu le cache via la css, c'est le lecteur handicapé qui le voit, le remplit et... se fait gicler.
 
WRInaute occasionnel
poupilou a dit:
Merci pour vos réponses.

-Romu- a dit:
Tu peux créer un anti-robots maison.... (addition, recopiage de mot en image...)
Tu peux même faire une protection session md5.

Il y a plein de solution...
Qu'entends-tu par "addition, recopiage de mot en image" si c'est du captcha dont tu parles, j'ai lu que les robots spammeurs passaient aussi à travers les captcha :?

Comment veux-tu faire une protection via les session md5 pour un formulaire contact, il n'y a pas de données stockés en BDD à comparer avec celles cryptées par le md5 des champs du formulaire, je ne vois pas là :?

Non, tout dépend ce que tu codes !
Quand tu en fais un maison, tu peux faire tout ce que tu veux.
Exemple, tu peux en faire des simples, tu peux par ex: sélectionner des synonymes.... ta plein de possibilité pour lutter contre les spams.

le md5 est pour les attaques de loin, ex: mr X veut t'ennuyer, il peut t'envoyer des variables POST à la chaîne pour te spammer... j'ai déjà eu le coup. Donc avec un champ hidden tu envoyes un md5, après une analyse avant la rentré en BdD pour voir s'il est bien passée par ton site.
 
WRInaute accro
par contre, faut bien garder dans la tête le fait qu'un spammeur n'est pas obligatoirement un robot. Tout du moins au début. Il va tenter de placer manuellement du code html (surtout des liens) dans ton formulaire et, ensuite, voir si on trouve ces mots inconnus dans les serp. Si c'est ok, soit il continuera à spammer manuellement, soit il automatisera.
Le spam manuel, les captcha n'y peuvent rien, par contre, ça em..rde les vrais internautes
 
WRInaute passionné
J'ai essayé le champs caché mais le robot a quand même envoyé mon formulaire par contre le !preg_match('/[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]{4,}/',$txtNom) semble l'arrêter :D merci pour votre aide
 
Nouveau WRInaute
Je me suis d'ailleurs souvent demandé comment faisait leboncoin.fr pour ne pas subir l'assaut des spammeurs ?
C'est vrai quoi ! On peut envoyer un mail à quiconque par le biais d'un formulaire non sécurisé sans captcha !!! 8O
 
WRInaute accro
et bien il font comme dit plus haut, soit temps de saisie, soit champ caché, soit les 4 consonnes, ... les solutions sont multiples
 
WRInaute discret
Tu devrais déjà bloqué le fait de pouvoir poster plusieurs messages avant un certain délai, parce que j'imagine que les 100aines de validation de formulaire tu les reçois groupées?
 
WRInaute discret
De plus et de temps en temps, ils changent d'adresse IP entre l'accès à la page et l'envoi du message (le même message est envoyé 2 ou 3 fois avec une même IP ou des IP différentes... mais pour une même session).
Néanmoins, Il existe des listes d'IP à jour de spammeurs qui permettent de bloquer 90% des accès.
Les solutions postées permettent de limiter les accès mais aucune n'est incontournable. J'ajouterai que, parfois, la géolocalisation des accès peut aussi être ajoutée à ces solutions.
 
Discussions similaires
Haut