Formulaire spammé malgré vérif

WRInaute impliqué
Bonsoir tout le monde,

Je m'étais fait un petit système maison pour éviter de me faire spammer par des commentaires. Malgré tout,des petits "malins" passent au travers.

La page concernée est la suivante: http://cartes-postales.cap-sizun.com/27 ... ogoff.html

Une âme généreuse pourrait elle me dire par quelle faille passe le spammeur ? J'offre un carambar à celui qui la trouvera ;)

Loïc
 
WRInaute accro
C'est vraiment des mails automatiques en masse ou bien ce sont des spammeurs occasionnels ? C'est surement quelqu'un qui te spam manuellement vu que tu as fais un système aléatoire :s
 
WRInaute impliqué
Non, ce ne sont pas des spams en masse, disons 3 ou 4 par semaine. Aujourd'hui par contre, j'en ai eu trois d'un coup.

Effectivement, si il y a des ânes qui passent leurs journées à faire ça, je vais avoir du mal à les en empêcher.

Pour celui qui m'a posé la question en commentant, la vérif consiste à poser une question aléatoire. Je cherchais à savoir s'il était possible de contourner cette question par un mécanisme automatique.
 
WRInaute impliqué
Salut,

Tu n'en dis pas beaucoup sur les abus dont tu es victime, donc c'est large pour ratisser.

Déjà tu devrais vérifier le type de données attendu pour le nom, soit par une expression régulière, soit par une fonction dédiée, parce que là c'est la cata.

Ensuite varier le système maison parce que 'non' comme antispam, un bot un tant soit peu évolué à vite fait de trouver la parade :wink:

Enfin, un petit truc récolté sur le forum il y a peu, partagé par Marie-Aude je crois : tu ajoutes un input hidden qui doit rester vide. S'il est rempli c'est que c'est un robot qui poste et donc le formulaire ne doit pas être accepté.

Un autre truc c'est de vérifier que les champs ne contiennent pas de http://-www avant de valider, ça évite déjà pas mal d'ennuis.

Voilà, par ici le carambar :mrgreen:

Edit : je n'avais pas vu que l'anti-spam était aléatoire ... autant pour moi :wink: Donc comme dit yoyo's, soit c'est manuel, soit c'est un bot qui fait des attaques par dictionnaire.
 
WRInaute accro
Je n'en ai pas l'impression mais je ne suis pas un pro du spam ^^.

Peut-être que quelqu'un s'est amusé à répertorier toutes les réponses possibles et à faire du brute force pendant 10minutes, il y en aura bien quelques un qui passeront surement non ?

Le hidden ne fonctionne pas, déjà testé, et les bots ne sont pas cons ^^ Ils ne remplissent pas les champs contenant un hidden ;)

A la limite, rajoute un système de bannissement si trop de tentatives infructueuses, comme ça tu es sure qu'une attaque dico sera impossible.
 
WRInaute impliqué
Le hidden ne fonctionne pas, déjà testé, et les bots ne sont pas cons ^^ Ils ne remplissent pas les champs contenant un hidden

Ah bon ? Testé comment ? J'ai mis ça en place et je n'ai pas à m'en plaindre, au contraire ... M'enfin c'est vrai, que tu peux toujours tomber sur le p'tit bot premier de la classe :lol:

A la limite, rajoute un système de bannissement si trop de tentatives infructueuses, comme ça tu es sure qu'une attaque dico sera impossible.

+1
 
WRInaute accro
Ben j'ai eu l'expérience avec un mod phpbb 2 qui rajoutait justement un input hidden sur le formulaire d'inscription. Rien changé dutout sur le bot qui m'emmerdait ^^
 
WRInaute impliqué
Merci pour vos réponses,

J'avais pensé au input hidden mais si yoyo dit que ça fonctionne pas... Quand à vérifier le nom, je veux bien mais quels caractères interdire ?

Virer les http, j'y ai pensé mais ça me gène un peu. Je voulais carrément les parser pour les transformer en lien mais avant ça il faudra que je sois sur d'avoir un formulaire fiable.

Pour cette fois-ci, j'ai supprimé trop tôt les commentaires et ne peux donc voir les entrées des logs correspondant à l'heure ou ils ont été fait. La prochaine fois je ferai la vérif mais il me semble qu'il n'y a pas 10000 accès et que le spammeur arrive rapidement à passer son com.

Ce qui est "marrant", c'est que c'est la seule page concernée, il en existe pourtant des dizaines d'autres du même type.

Je précise que tout cela n'a rien de dramatique, j'ai 3 modos qui ont également la possibilité de supprimer ce genre de spam.

A propose, qui sont ces spammeurs ?
 
WRInaute accro
Le mieux, tu combines tout, le spammeur va bien en baver :mrgreen:

Qui ? Des fois ce sont justes des abrutis qui pensent gagner des liens en faisant ça -_-
 
WRInaute impliqué
Quand à vérifier le nom, je veux bien mais quels caractères interdire ?

Tu autorises les caractères alphabétiques le - et l' (au pire tu acceptes les chiffres).

Bref, les caractères susceptibles d'apparaître dans un nom ou un pseudo ...
 
WRInaute impliqué
Pour le problème des questions, c'est que tu en as vraiment pas beaucoup, il est donc très facile de faire du spam "semi-automatique", c'est à dire qu'un humain référencie les questions et réponses, ensuite, le bot n'a plus qu'a faire mumuse.

Tu devrais ajouter plus de questions, mais aussi plus à réponses aléatoire, du style : quel est la dixième lettre de la phrase "Le drapeau Français est bleu, blanc, rouge" en faisant en sorte que dixième soit sortie de manière aléatoire, ainsi que la phrase (ça complique pas mal la tâche à l'humain et au bot), tout comme tes calculs, tu les génères de manière aléatoire en mélangeant les modes d'écriture : combien font 15 ôté de cinquante trois? (en lettres) :twisted:
 
WRInaute accro
Pour que le hidden fonctionne, il faut avoir un zeste d'intelligence de plus que les robots, et il suffit de le mettre dans le css.
Perso, j'appelle mon champs mail2, un beau piège à robots
 
WRInaute passionné
en 20 secondes tu récupère le code, et tu peux spammer à volonté.

Code:
<form action="http://cartes-postales.cap-sizun.com/index.php?action=sendcomment&id_sujet=261" method="post">
<input name="pseudo" type="hidden" value="spameur" />
<input name="reponse" type="hidden" value="bleu" /></dd>
<input name="id_question" type="hidden" value="4" />
<textarea name="commentaire"></textarea>
<input type="submit" value="Envoyer" />
</form>

La dessus en 2 minutes via php tu fait tourner le "id_sujet", et tu envoie via curl
:wink:
 
WRInaute impliqué
Ok mais alors ce n'est pas totalement automatique.

Comment faire pour éviter ce genre d'action ? Une vérification du referer peut suffir ?
 
WRInaute passionné
Comment ça c'est pas totalement automatique ? bien sur que si ! je rajoute ce bout de code en bas d'une de mes pages qui tourne bien, et tu va voir si c'est pas automatique...

ton captcha ne sert absolument à rien car on peut "associer" le code et la réponse (ici 4 et "bleu")

Perso je me suis fabriqué un captcha construit sur le temps. je fabrique un code basé sur la date à laquelle la page est générée, et ce code reste valable 5 minutes pour poster. ensuite il est périmé.. comme ça pas de captcha (qui font chier les membres), et pas de soumission automatique non plus, car le code est très vite périmé.

ps: t'as une erreur de code lors du post des commentaires

La vérification du referer c'est pas mal, même si ça n'arrêtent pas les moteurs qui peuvent le trafiquer !
 
WRInaute accro
le temps de réponse entre page en GET et en POST peut aussi être utile pour filtrer.

perso je ne fais pas tourner les questions (je n'en ai qu'une) et pas de spam.
 
WRInaute accro
un humain se pose sur ta page (en GET) et prend le temps de répondre 'a la main' donc quand il soumet le commentaire (submit) la page ou le script de traitement est appelé en POST.

Le délai entre les deux manipes est donc 'relativement long' un bot lui ne passera pas sur la page en GET (injection directe en POST) ou le fera super vite (fraction de seconde) donc tu peux valider ou non le message en fonction du temps entre les deux actions ou l'absence d'action préalable.

concrètement tu met un input hidden avec un timestamp php dans le formulaire et ensuite dans le script de traitement tu regarde le temps de réponse.
 
WRInaute accro
Vu le harcèlement des robots sur les formulaires où je n'ai pas mis cela en place, et qui sont des sites similaires, je ne pense pas que cela soit utile.

Au fait un robot c'est pas con :) sinon on ne se ferait pas spammer.

Simplement, le robot ne perd pas son temps à analyser le css (déjà que Google ne le fait que partiellement). Donc à partir du moment où il ne peux pas lire hidden dans la page...
 
WRInaute accro
Marie-Aude a dit:
Pour que le hidden fonctionne, il faut avoir un zeste d'intelligence de plus que les robots, et il suffit de le mettre dans le css.
Perso, j'appelle mon champs mail2, un beau piège à robots

Oui c'est une idée par css, mais le problème, si le spammeur t'en veux vraiment, il pourra très simplement configurer son script : sur le site X, ignore le champ Y non ?


EDIT: T'as été trop vite Marie-Aude, alala :D. Je n'avais pas lu que tu disais mettre le hidden par css, j'ai cru que c'était le type hidden, ce qui est facilement visible par html ^^ :D. Moi creuvé, moi dodo -_-
 
WRInaute impliqué
Pas très accessible le coup du champ caché en css :s

comment ils font les malheureux qui utilisent des navigateurs vocaux, ... ?
(bon d'accord, c'est tiré par les cheveux mais on devrait commencer à penser à ces choses là)
 
WRInaute accro
seebz a dit:
Pas très accessible le coup du champ caché en css :s
si, parce qu'un formulaire vraiment accessible doit être construit avec des "label for" et quand il n'y en a pas, on n'a rien à remplir dans le formulaire. Après, il suffit de bien gérer l'ordre de tabulation CQFD :wink:
 
Discussions similaires
Haut