[spip-dev] Detection des visiteurs qui abusent/floodent

Hello,

on est régulièrement confronté à des utilisateurs qui font de l'aspiration violente et grossière de sites de façon plus ou moins malpolie (sans s'annoncer comme BOT, avec un UA Windows/IE, sans respecter de délai entre 2 chargements de page etc…)

Dans le cadre de mesures coercitives (du genre bloquer quelques minutes un utilisateur qui abuse), je teste le patch suivant pour faire une detection un peu smart

dans http://zone.spip.org/trac/spip-zone/browser/core/branches/spip-3.0/plugins/statistiques/public/stats.php#L87

Index: public/stats.php

Bonjour,

Question connexe:
Est-ce que cela peut se rapprocher des Spams de forums d’articles?

Pas réellement, c'est un autre type d'abus, plus silencieux, mais qui consomme des ressources serveurs au détriment des vrais visiteurs.

Il se peut qu'on detecte là des spammeurs compulsifs (ceux qui dont des POST a repetition en grande série, sur tous les formulaires qu'ils trouvent), mais cela correspond plutot aux robots un peu bêtes qui sont déjà bloqués par la prévisu et/ou l'antispam de NoSpam.

Merci, Cédric, de ta réponse.

Juste une petite question à ce sujet :
Tu mentionnes NOSpam. Est-ce que tu conseilles l’installation du plugin du même nom, en plus de la lame « Lutte contre le SPAM » du Couteau suisse ?

Merci d’avance,

Hervé

Hervé Le Dantec a écrit :

Merci, Cédric, de ta réponse.

Juste une petite question à ce sujet :
Tu mentionnes NOSpam. Est-ce que tu conseilles l’installation du plugin
du même nom, en plus de la lame « Lutte contre le SPAM » du Couteau suisse ?

Je crois que ça n'a rien a voir. Le couteau suisse repose sur du filtrage par mot ou IP que l'on configure manuellement avec tout ce que cela suppose.

A contrario NoSpam se veut le plus simple possible (pas de configuration nécessaire) et le plus efficace possible sur cette base pour pouvoir être utilisé par tout le monde.
Je te renvoie à la doc NoSPAM - SPIP-Contrib

Je n'utilise que le plugin NoSpam, et je le recommande vivement oui. Il faut veiller à le maintenir à jour car on adapte la stratégie de filtrage chaque fois que c'est nécessaire...

Merci de cette explication très claire

Envoyé de mon iPhone

Je trouve ça d’intérêt public mais il vaudrait la peine d’avoir un garbage collector en cron (ou dans le cron des stats pour le coup) pour éviter un engorgement.

On pourrait ensuite facilement dans mes_options ajouter un

if (fileexists(…) and filemtime(…) est récent) { 503 dégage }

OK, je vais voir pour compléter ça avec un nettoyage dans le genie.

Oui on peut ensuite être sympa et considérer que ces IPs sont des bots, ce qui permet de continuer à les servir, mais de façon moins prioritaire.

Ou, au niveau serveur, être plus agressif et les ajouter dans un filtrage firewall pendant 1H par exemple.

Bonjour,

Pour un site qui a beaucoup d'articles, 200 visites de la même IP en
moins d'une heure facilement dépassé.

De plus, c'est quand même le taf de l'hébergeur, non?

Enfin, il faut prendre en compte les visiteurs qui passent par leur
téléphone mobile, ils se partagent tous le même petit lot d'IP.

Bonne journée
G