Protection contre le spam #137
Labels
No Label
Core
bug
duplicate
easy
enhancement
help wanted
invalid
performance
proposal
question
security
warning
wontfix
No Milestone
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: devs/PCv5#137
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
État actuel de la v5
Pour réduire la quantité de spam, la v5 comporte plusieurs mécanismes de protection :
Et c'est à peu près tout pour le moment. Notez qu'on a pas de protection sur le formulaire de création de compte, si ce n'est la journalisation.
Retours de la v43
Dernièrement le spam de la v43 se fait majoritairement via des bots inscrits, et par édition à retardement de messages.
L'antispam du formulaire invité semble être relativement efficace.
Pistes envisageables
À l'usage, il est probable que l'on souhaite plus de protection à priori, et d'autres éléments de détection à postériori. Quelques pistes envisageables :
L'objectif de ce ticket est de discuter des différentes options, et d'ouvrir des tickets pour celles retenues.
Concernant le système de captcha, quelques remarques :
Si on souhaite en ajouter un, mon point de vue est d'en faire un personnalisé, éventuellement en répondant à des questions type "En quelle année est sortie la Graph 35+E ?" avec un lien vers le Wiki pour que les invités puissent trouver la réponse.
Ça s'automatise, mais ça demande de développer un module spécialement pour Planète Casio → peu probable (vs du spam humain contre lequel n'importe quel captcha ne sert à rien).
Librecaptchat donne quoi niveau efficacité ?
Je propose d'avoir un verrouillage pour un compte nouveau de la possibilité de poster un message dans un fil ou de créer un nouveau fil avant de s'être "présenté" sur un fil dédié.
Une fois cette présentation faite, cela déverrouille le compte pour créer des nouveaux fils et/ou poster des messages dans un fil.
Si tu parles de ça, je suis pas fan pour deux raisons :
Pas fan non plus, si t'as pas envie de te présenter tu fais comment ?
Alors personnellement j'ai quelques doutes sur l'analyse.
C'est contradictoire : l'antispam du formulaire invité est exactement le même que celui du formulaire d'inscription. Puisqu'on a des spam inscrits, il n'y a donc pas de raison qu'on n'ait pas aussi des spams invités. Le spam invité est même plus facile puisqu'il n'y a qu'un formulaire à remplir au lieu de s'inscrire, valider son email, se connecter, et poster.
Moi ce que je vois c'est un mélange de deux types de spams :
Je ne suis pas convaincu qu'on ait le moindre bot. Les deux méthodes requièrent plusieurs actions et une temporalité non triviale : pour (1) il faut attendre l'email d'inscription, pour (2) il faut attendre que le commentaire soit oublié. Les formulaires v43 ont également des CSRF donc de simples requêtes à l'aveugle ne sont pas suffisantes : il faut charger les pages. L'automatisation est clairement non triviale.
Comme Planète Casio n'utilise aucune API standard (pas PhpBB, pas Wordpress, etc), je ne vois pas un bot accomplir toutes les actions sans que du code spécifique à Planète Casio ne soit écrit, ce qui n'a pas beaucoup de sens pour les spams de type (1) qui sont systématiquement en anglais alors que le site est en français, et semble être un effort démesuré pour les spams de type (2) qui représentent moins de 100 messages à l'année.
Bref, à mon sens le plus probable c'est que des humains poussent leur scam local en copiant/collant les liens et promotions sur tout l'internet, pas des bots.
Et si c'est pas des bots, rien de ce qu'on raconte jusqu'à présent ne va résoudre le problème...
Pour la présentation, ça peut être ultra minimaliste, juste poster un message "Hello" pour déverrouiller l'accès. Cela peut même être sur un fil de déverrouillage dédié, pas forcément un fil de présentation.
Effectivement, ce qu'on dit c'est sur la base de spams issus de bots ou d'une AI lambda. Si derrière on a des gugusses, rien de tout ceci sera efficace.
Pendant qu'on réfléchit à comment empêcher le spam de se faire poster, voici un élément de réflexion complémentaire.
On peut aussi empêcher les spams qui sont postés d'être visibles. Actuellement les spams se voient bien à cause des notifications de GLaDOS, qui sont visibles assez longtemps sur
#general
et donnent une mauvaise impression aux visiteurs.En discutant avec Darks, il semblerait faisable d'effacer les notifications lors de la suppression des commentaires/topics de la façon suivante.
v4-event=create-topic-210348
.CLEARMSG
envoyée par le serveur aux clients lors de la suppression d'un message. Pour cela :CAP LS
et le client l'activerait avecCAP REQ
, le classique.v4-event
ouv5-event
, et une commande serveur pour annoncer cette suppression aux clients.OperServ
. Seuls les serveurs v4 et v5 sont supposés l'avoir a priori.Si une extension plus standard supportée par les clients IRC externes existe, on peut aussi l'utiliser. (Une recherche rapide ne m'en a pas montré.)
Moi j'aimais bien l'idée de darks de demander à l'utilisateur quelle est la calculatrice, avec un lien au wiki.
Si vous voulez moi je veux bien le coder :)
EDIT :
Pour les malvoyants on pourrait faire un captcha audio ?
Bon, si je résume on s'en tire avec :
CLEARMSG
comme sur l'implémentation IRC de Twitch pour supprimer les notifs de la shoutLa modération se fait (hors champ anti-bot) à postériori, on se base sur la réactivité de l'équipe pour modérer le spam.
Ça me va et c'est facile à mettre en place :)