| | Antispam Blog | |
| | Auteur | Message |
---|
TG Légende vivante
Nombre de messages : 5793 Age : 60 Planète : Paradis n°2 Matos : MacBook Pro 16" 2019 Date d'inscription : 12/11/2006
| Sujet: Antispam Blog 5/13/2009, 09:51 | |
| Confronté à un harcèlement spamique (que ce néologisme est moche) sur un site motorisé par Wordpress, j'ai décidé de mettre en place un plugin captcha (signalons quand même que les soumissions sont mises en quarantaine avant validation et qu'en contrepartie, je ne demande pas d'enregistrement préalable). Las, les ceux que j'ai téléchargés ne voulaient pas fonctionner, ou alors partiellement avec le thème de base. Fatigué de devoir intervenir dans le code pour leur venir en aide (sans compter sur le fait que le travail serait à refaire lors d'une mise à jour de Wordpress ou du plugin), j'ai décidé de tester une petite astuce de mon cru. Partant du principe que le spam est en principe envoyé par des bots préfabriqués pour des outils connus (dans mon cas, donc, un bot dédié Wordpress), j'ai modifié légèrement le mode de soumission des commentaires. J'ai d'abord caché le champ de saisie (style) et je l'ai renommé (id et name). A ce stade, si on clique sur le bouton de validation (impossible car il est caché aussi, mais c'est une supposition), Wordpress refuse l'action car le champ de commentaire est vide (en fait, celui qu'il attend n'existe pas, pas sous le nom qu'il connaît...). J'ai ensuite mis en place un lien qui, quand on clique dessus, réaffiche le champ et lui redonne son identité. Le lien en profite pour s'effacer... J'ai réalisé ça en quelques lignes de Javascript. À partir de là, le formulaire fonctionne comme à l'origine. Le bot trouve donc sur son passage un code html comportant des champs qu'il ne reconnaît pas. S'il veut retrouver un fonctionnement normal, il lui faudra simuler un clic sur le lien et, ce n'est pas la moindre des choses, être en mesure d'exécuter du Javascript (car c'est bien une capacité du client). Pour le moment, cette ruse semble tenir la marée. Je vous tiendrai au courant s'il se fait déborder. NB : il faudra aussi que je vérifie que le php de validation n'accepte que les commentaires postés depuis le site lui-même et, pour plus de protection, que je définisse l'action du formulaire au dernier moment, lors de l'activation du lien. NB : je ne vous donne que le principe, pas le code. C'est très facile à réaliser et c'est un bon exercice pour ceux qui en ont besoin. Et c'est adaptable très simplement à tout outil dont on maîtrise le code. | |
| | | Olivion Blanc bec
Nombre de messages : 36 Age : 58 Planète : en orbite Matos : Mac Book Pro - MacMini Intel Date d'inscription : 11/10/2007
| Sujet: Et sur Spip? 5/13/2009, 10:59 | |
| Mon propre site est en Spip. Tu penses qu'on peut faire la même chose que ce que tu as fait? Parce que même si j'avais modéré les forums, je devais refuser plus d'une centaine de messages de bots par jour... | |
| | | TG Légende vivante
Nombre de messages : 5793 Age : 60 Planète : Paradis n°2 Matos : MacBook Pro 16" 2019 Date d'inscription : 12/11/2006
| Sujet: Re: Antispam Blog 5/13/2009, 11:37 | |
| - Olivion a écrit:
- Mon propre site est en Spip. Tu penses qu'on peut faire la même chose que ce que tu as fait? Parce que même si j'avais modéré les forums, je devais refuser plus d'une centaine de messages de bots par jour...
Il n'y a pas de raison. Si c'est un SPIP que tu contrôles totalement, tu peux déjà vérifier ce qui se passe en renommant le ou les champs du formulaire. Si l'enregistrement est refusé mais que tu n'as pas de message d'erreur php, c'est une très bonne nouvelle. Sinon, il faudra que tu adaptes un peu plus de code. Ensuite, tu masques le champ : <textarea name="fakename" id="fakeid" value="" style="display:none"></textarea> Et tu insères un élément cliquable contenant le code qui va bien quelque part dans ton formulaire : <label onclick=" document.getElementById('fakeid').style.display=''; // on rend le champ visible document.getElementById('fakeid').name='spipname'; // on lui rend le nom connu du système document.getElementById('fakeid').id='spipid'; // on fait la même chose avec l'ID (en dernier à cause de getElementById) this.style.display='none'; // on masque l'élément courant " > [Cliquez ici pour activer la saisie] </label>
Il faudra que tu adaptes. Là, ce n'est que le principe avec un peu de code pour démarrer ne concernant qu'un seul élément du formulaire. Pour dérouter un peu plus les bots, il peut être intéressant de traiter tous les champs, les boutons et, comme je l'évoquais, le formulaire lui-même, notamment son action. Tiens moi au courant si ça tient la marée face aux bots. NB : je n'ai pas testé ça sur tous les navigateurs de la planète. Ça marche au moins avec S4 et FF3 sur Leo. NB : précisons que la protection vient surtout du changement de nom et d'identifiant. La partie affichage, basée sur les CSS, n'est certainement pas implémentée par les bots sauf s'ils utilisent un kit html. Elle est surtout là pour l'interaction avec l'utilisateur. | |
| | | TG Légende vivante
Nombre de messages : 5793 Age : 60 Planète : Paradis n°2 Matos : MacBook Pro 16" 2019 Date d'inscription : 12/11/2006
| Sujet: Re: Antispam Blog 5/14/2009, 08:29 | |
| J'ai testé sur PC : S4ß, IE7 et FF3 fonctionnent. IE6 sur W2K aussi. Testé sur Opera 7.54 Leo (la version qui sert de moteur à l'aide de Photoshop Elements) et sur Safari... iPhone : c'est ok.
Dernière édition par TG le 5/18/2009, 20:23, édité 2 fois (Raison : tests étendus) | |
| | | neiluj Parasite
Nombre de messages : 309 Age : 42 Planète : Neptune Matos : MacBook Air, MacBook Pro Unibody, iMac Alu, MacBook Black, Sanyo Z5 Date d'inscription : 18/09/2007
| Sujet: Re: Antispam Blog 5/14/2009, 11:10 | |
| Le seul ennui c'est que si un visiteur désactive javascript il ne peut plus poster de messages, mais sinon dans l'idée c'est pas mal Et il est où ton bloc :p | |
| | | TG Légende vivante
Nombre de messages : 5793 Age : 60 Planète : Paradis n°2 Matos : MacBook Pro 16" 2019 Date d'inscription : 12/11/2006
| Sujet: Re: Antispam Blog 5/14/2009, 12:03 | |
| - neiluj a écrit:
- Le seul ennui c'est que si un visiteur désactive javascript il ne peut plus poster de messages
Entre cette contrainte, somme toute légère, et la pollution des caca-bots, je n'hésite pas une seconde. D'autant que lors de mes recherches sur les captcha, j'ai constaté que beaucoup d'internautes étaient gavés de devoir entrer ces codes et préféraient passer leur chemin. Il y a donc de la perte de ce côté là aussi. Avouons aussi qu'il est extrêmement rare que Javascript soit désactivé sur les navigateurs. Pour la suite, si un bots en venait à gérer le Javascript et ainsi déborder cette simple protection, j'ai un deuxième étage en préparation : il devra aussi gérer les cookies. Ça fait un peu course à l'armement mais en fait, j'utilise le principe de la plus forte pente : tant que c'est plus simple d'aller polluer ailleurs, je suis en gros à l'abri. Merci en tout cas pour l'encouragement. | |
| | | hr Légende vivante
Nombre de messages : 6919 Age : 70 Planète : Creuse Matos : mac mini M2 2023 en Ventura - mac mini fin 2014 en Monterey - iMac alu 2008 en El Capitan - G4 en 10.5 - iPhone 6s Date d'inscription : 19/11/2006
| Sujet: Re: Antispam Blog 5/16/2009, 12:08 | |
| [j’efface, j’ai dit rien que des bêtises à côté de la plaque] _______________ J’étais né pour rester jeune et j’ai eu l'avantage de m’en apercevoir le jour où j’ai cessé de l'être. Épitaphe de Georges Moinaux, dit Courteline
Dernière édition par hr le 5/16/2009, 13:29, édité 1 fois | |
| | | TG Légende vivante
Nombre de messages : 5793 Age : 60 Planète : Paradis n°2 Matos : MacBook Pro 16" 2019 Date d'inscription : 12/11/2006
| Sujet: Re: Antispam Blog 5/16/2009, 12:13 | |
| - hr a écrit:
- Testé dans Firefox 3.0.10 et Epiphany sur Linux (Ubuntu).
Merci de ton aide ! Epiphany, encore un autre navigateur ? Décidément, les mers sont de plus en plus fréquentées Tu t'es servi de ce mécanisme ? | |
| | | hr Légende vivante
Nombre de messages : 6919 Age : 70 Planète : Creuse Matos : mac mini M2 2023 en Ventura - mac mini fin 2014 en Monterey - iMac alu 2008 en El Capitan - G4 en 10.5 - iPhone 6s Date d'inscription : 19/11/2006
| Sujet: Re: Antispam Blog 5/16/2009, 12:23 | |
| [suite de quand je m’a trompété] _______________ J’étais né pour rester jeune et j’ai eu l'avantage de m’en apercevoir le jour où j’ai cessé de l'être. Épitaphe de Georges Moinaux, dit Courteline
Dernière édition par hr le 5/16/2009, 13:30, édité 1 fois | |
| | | TG Légende vivante
Nombre de messages : 5793 Age : 60 Planète : Paradis n°2 Matos : MacBook Pro 16" 2019 Date d'inscription : 12/11/2006
| Sujet: Re: Antispam Blog 5/16/2009, 12:48 | |
| - hr a écrit:
- Mécanisme ? Ben j'ai peut-être pas vraiment compris, il ne suffit pas de parvenir à mettre un message pour prouver que ça marche ?
Je voulais dire : tu as incorporé ça à un de tes sites ? | |
| | | hr Légende vivante
Nombre de messages : 6919 Age : 70 Planète : Creuse Matos : mac mini M2 2023 en Ventura - mac mini fin 2014 en Monterey - iMac alu 2008 en El Capitan - G4 en 10.5 - iPhone 6s Date d'inscription : 19/11/2006
| Sujet: Re: Antispam Blog 5/16/2009, 13:19 | |
| - TG a écrit:
- hr a écrit:
- Mécanisme ? Ben j'ai peut-être pas vraiment compris, il ne suffit pas de parvenir à mettre un message pour prouver que ça marche ?
Je voulais dire : tu as incorporé ça à un de tes sites ? Non, je n'ai pas de site permettant de poster. Les adresses mail sont protégées, c'est tout. Ah oui, je viens de relire et de comprendre que ça n'a aucun rapport avec ici... Je n'avais vraiment rien compris, effectivement. Bon alors disons que je n'ai dit du tout depuis le début ! J’ai effacé, ce n’est pas la peine d’embrouiller. _______________ J’étais né pour rester jeune et j’ai eu l'avantage de m’en apercevoir le jour où j’ai cessé de l'être. Épitaphe de Georges Moinaux, dit Courteline
| |
| | | Contenu sponsorisé
| Sujet: Re: Antispam Blog | |
| |
| | | | Antispam Blog | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |