personnes prises pour des spammeuses alors qu'en fait non (trust level 0)

Salut, je vois qu’on a un paquet de messages en attente de modération dont certaines mentionnent :

Ce nouvel utilisateur a tenté de créer plusieurs messages avec des liens vers le même domaine. Tous les messages de cet utilisateur qui contiennent des liens doivent être examinés. Cette règle peut être ajustée avec le paramètre newuser_spam_host_threshold.

On dirait bien que c’est les liens présents dans la signature de perline qui posent problème, on peut quelque chose pour ça, à part demander à perline de bien baliser sa signature comme telle ?

Alors tout à l’heure j’ai augmenté le compte de Perline d’un niveau (de 0 nouveau à 1 utilisateur), mais pas sûr que cela suffise

C’est un cas assez unique :slight_smile: J’ai rarement vu un·e utilisateur·trice envoyer autant de messages en si peu de temps: quelle énergie. Évidemment discourse est parti en panique et a cru à un spam. Le plus simple consiste, comme @marcimat l’a fait (peut-être niveau 2 même), à augmenter le niveau de confiance et à approuver les messages postés hier.

ce sont de vieux messages il me semble (pas des messages d’hier)

Le titre du thread indique 144 messages à modérer , ce matin c’est 109

Oh, en effet: le signalement date d’hier mais concerne tout les messages. La solution proposée reste la bonne à mon avis (élévation du trust level + approbation des messages passés et présents).

Ça va être un peu long de valider 105 messages… mais bon, avec plein de petites mains…

Ceci dit… le cas va se reproduire.

  • Une personne a posté beaucoup de courriels dans le passé, avec un lien en signature
  • Elle poste un nouveau message, avec ce même lien
  • La mécanique anti-spam associée aux personnes de trust level 0 se déclenche

Et ça vaut probablement pour d’autres mesures anti-spam. L’import aurait du accorder un niveau de confiance 1 aux personnes pour lesquelles un compte a été créé. C’est un bug pense, vu les conséquences (j’ai ajouté un bug report).

Je pourrais faire un script pour changer le niveau de confiance des utilisateurs actuels (de zero à un) si cela vous semble pertinent.

Je me demande aussi si sa signature est correcte… Elle est intégrée telle quelle habituellement dans Discourse ? Ou c’est un bug qu’elle ne soit pas virée ?

Je ne pense pas que discourse ait un algorithme qui identifie et traite les signatures.

mais du coup faut les valider les 91 messages ?

Sa signature est effectivement incorrecte : ça devrait être -- \n (moins moins espace retour), et ce n’est pas le cas. (elle n’a pas l’espace)

Pour memo changer le trust level de tout les utilisateurs :

cd /srv/discourse_docker/
./launcher enter app
RAILS_DB=spip rails c
User.exec_sql("UPDATE users SET trust_level = 1 WHERE trust_level = 0")

Je ne vois pas de façon de dire « approuver tous les messages de cette personne ». Je veux bien faire l’approbation si vous me donnez le feu vert.

Pour résumer je propose:

Si j’ai votre feu vert je m’y met :slight_smile:

Au vu de https://discuter.spip.net/admin/users/list/new je dirais pas « tous les utilisateurs », mais peut être ceux avant une certaine date de création ?

Oui, si tu fais ça avec une requête… sinon on le fera progressivement à la main en cliquant le bouton Rejeter le signalement :slight_smile:

Je viens de voir que les utilisateurs qui ont été créés en raison du fait qu’ils ont uniquement posté sur les listes (sans y etre abonnés) ont par défaut un trust level de 1. Donc on a deja une majorité de comptes qui, s’ils s’incrivent, ont ce niveau de confiance. Il y a un risque de spam, bien sur, mais je pense qu’il est minimal s’il est limité aux courriels provenant d’adresses connues dans les archives.

Je l’ai fait manuellement après avoir sélectionné uniquement les messages de d8acbb08df990a4efd6a. C’est assez rapide même si c’est cliquer comme un
:monkey:

2 « J'aime »

Pour éviter d’élever les permissions des spammers nouvellement créés, la requête a été modifiée pour exclure les utilisateurs staged (i.e. créés en raison d’un envoi de courriel mais sans compte).

cd /srv/discourse_docker/
./launcher enter app
RAILS_DB=spip rails c
User.exec_sql("UPDATE users SET trust_level = 1 WHERE trust_level = 0 and staged = false")

Je ne fais pas cette commande sans votre aval: on ne pourra pas vraiment revenir en arrière :smiley: