Présence de pages indésirables sur le wiki

Il semblerais que certaines pages sont créées par des utilisateurs anonymes avec des octets ininterressant… oui je parle en octets… mais je suis quand même un être humain hein…
Ca rempli le wiki pour rien et donc la taille des sauvegardes et donc le prix surement.
Je suis étonné qu’il n’y en ai que sur les 3 derniers jours cependant…
A voir si il n’y a pas un nettoyage qui est fait de temps en temps… ou si c’est nouveau et qu’il faille mettre a jour la version de « mediawiki » utilisée peut être pour plus de sécurité ? Il y a peut être une faille quelque part…

Qu’en pense tu @dachary ?

Je pense que ce serait pas bete de desactiver les inscriptions sur le wiki pour éviter ça. C’est super chronophage de faire le ménage et je ne sais pas pourquoi c’est que les trois derniers jours.

Je suis d’accord…

c’est peut être juste un bug de recherche… il faudrait évaluer en regardant la quantité d’utilisateurs anonymes… est ce que anonyme veut dire inscrit quand même ? Est qu’on ne pourrait pas changer une config pour ne pas autoriser l’ajout de contenu pour des utilisateurs anonymes ?
Il faudrait que je check la config mais je n’ai plus les mots de passes sous la main… il faut que je creuse dans ma mémoire…

Il faudrait regarder le nombre d’utilisateurs dans la BDD sur le docker du coup…

1 « J'aime »

En l’occurrence ce sont des IP (utilisateurs non-connectés) qui spamment, ça peut donc se régler simplement en ajoutant $wgGroupPermissions['*']['edit'] = false; dans le fichier LocalSettings.php – je vois parler de Docker, je ne connais pas votre variante d’installation, si besoin se reporter à la doc du Docker en question pour trouver comment modifier l’équivalent du LocalSettings.php.

Par défaut les pages spéciales “Nouvelles pages” et “Modifications récentes” n’affichent qu’un nombre limité de résultats mais on peut en demander jusqu’à 500 et aller jusqu’aux 30 derniers jours. Et ça spamme sévère sur ce wiki. En fait l’inscription est protégée par une question hyper compliquée (le nom du collectif), les spammeurs ne peuvent donc pas créer de compte et se sont rabattus sur l’édition anonyme. Il n’y a pas forcément besoin de désactiver la création de compte, les spammeurs ne passeront probablement pas la difficulté de la question, et ça reste utile que les humains puissent se créer un compte.

La version de MediaWiki commence à être ancienne et pourrait être mise à jour, mais le problème ici est d’abord que la fonctionnalité d’édition en anonyme est ici dévoyée par les spammeurs, comme souvent sur les petits wikis.

Pour nettoyer, il faudra installer l’extension DeleteBatch et faire la liste des pages à supprimer. De ce que je vois les spams sont dans l’espace principal et sur la quasi-totalité des pages utilisateur.

Mais l’urgence est déjà de stopper l’hémorragie des nouveaux spams.

1 « J'aime »

Haaa merci <3 @Seb35, je crois que j’avais vu l’astuce de la config du localSettings.php aussi en cherchant rapidement. Je ne connaissais pas l’extension pour nettoyer DeleteBatch, c’est top.
Je n’ai pas ma clef SSH sur ce poste ci… @dachary si tu as un moment ? :pray:

1 « J'aime »

En fait ta clé SSH y est déjà. On règle ça en PM ? En cas d’accident on peut restaurer un backup donc no stress :wink:

Modification de la config :ballot_box_with_check:
hémorragie stoppée :

Installation extension DeleteBatch :ballot_box_with_check:
suppression des pages pourries … (en cours)
wala … la misère que ca va être ><

Il va falloir le faire page par page :scream_cat:

1 « J'aime »

Bon l’extension ne semble pas marcher…
La version utilisée de mediawiki doit être trop ancienne

Autres infos croustillantes :slight_smile:
https://www.mediawiki.org/wiki/Manual:Combating_spam

Est-ce que tu as testé avec la version de DeleteBatch pour MW 1.26 (téléchargement du .zip sur Github) ? La plupart des extensions de MediaWiki sont archivées à chaque sortie de MW, dans des branches Git.

L’extension Nuke est souvent mise en avant pour combattre le spam, mais ici ça ne va pas être très efficace car ce sont des IP différentes et non une seule IP (Nuke aurait supprimé toutes les contributions d’une IP en un clic).

Ok je vais essayer avec cette version.
Est ce que tu as déjà utilisé DeleteBatch ? J’ai l’impression qu’il faut lister tout les sujets à supprimer pour les filer au script… c’est une misère…

Je l’ai utilisé quelques fois, oui, et oui il faut faire la liste. Je vais préparer cette liste d’ici ce week-end, c’est le genre de tâche semi-automatique où j’ai acquis une certaine efficacité :slight_smile:. Je mettrai cette liste sur une page du wiki.

1 « J'aime »

Voilà, listes sur ma page utilisateur.

Ça fait 341 pages qui sont à coup sûr du spam, 4 probables, 1 page de test (il y a qq autres mais bon), et 27 utilisateurs spammeurs qui peuvent être bloqués à durée indéfinie (parfois les spammeurs sur des wikis réutilisent leurs vieux comptes pour re-spammer).

Avant de supprimer le spam, observez ce gentil visiteur qui a retiré le lien vers du spam :slight_smile:

J’ai constitué les listes :

  • en regardant toutes les pages utilisateur,
  • puis en prenant toutes les modifications récentes puis en filtrant celles de la forme [A-Za-z’]+[0-9]+ (qui de facto sont toutes les pages avec ces titres, sauf 3-4 exceptions qui sont de vraies pages),
  • puis en prenant toutes les pages, en retirant les spams déjà capturés et un certain nombre d’expressions valides (noms de villes, etc) et ça donne la liste « autre ».
  • Les utilisateurs spammeurs sont obtenus en croisant la liste des pages Utilisateur: classées en spam et la liste des utilisateurs.

Tout ça pour dire qu’il ne devrait pas y avoir de faux positifs et probablement très peu de faux négatifs. Les différentes listes ont été obtenues via l’API puis à coups de JSON+jq (outil de manipulation du JSON)+grep.

Ok super job !
J’essaye d’installer la version de l’extension que tu m’as filé mais il semble qu’il y ai un soucis…
un fichier manquant extension.json… ou alors je procède mal…

Fatal error: Uncaught exception 'Exception' with message '/var/www/html/extensions/mediawiki-extensions-DeleteBatch-REL1_26/extension.json does not exist!' in /var/www/html/includes/registration/ExtensionRegistry.php:106 Stack trace: #0 /var/www/html/includes/GlobalFunctions.php(181): ExtensionRegistry->queue('/var/www/html/e...') #1 /var/www/html/LocalSettings.php(203): wfLoadExtension('mediawiki-exten...') #2 /var/www/html/includes/WebStart.php(126): require_once('/var/www/html/L...') #3 /var/www/html/index.php(38): require('/var/www/html/i...') #4 {main} thrown in /var/www/html/includes/registration/ExtensionRegistry.php on line 106

J’ai essayé REL1.27 que j’ai aussi trouvée ici :
https://extdist.wmflabs.org/dist/extensions/

et la REL1.31 mais même soucis. (après ca parait plus logique vu que les versions ne sont plus synchro mais ca valait le test je pense)

J’ai trouvée cette page qui fini de me convaincre qu’il vaut mieux mettre à jour la version de mediawiki avant je pense.

https://wikiapiary.com/wiki/Extension:DeleteBatch

Comme il manque le fichier extension.json j’imagine qu’il y avait une autre méthode d’installation d’extension dans mediawiki avant la présence de ce type de fichier…
Je vais regarder cette piste pour la REL1.26 correspondant à notre version

Ou alors c’est un problème de permissions sur la BDD… et la je vais bloquer…
Je peux aussi tester de copier le fichier extension.json d’une version récente et l’adapter à la version REL1.26 mais je commence à bidouiller serieusement là…

En tous cas, plus hémorragie, si on regarde les modifs récentes la dernière en date est celle de @Seb35 donc tout va bien, plus de nouvelle modifs insérées par des comptes spam.