Forum Programmation.web Mediawiki : paramètres de création de comptes.

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
5
16
juin
2024

Bonjour,

J'ai mis en ligne un site (http://openproduct.fr/) sans prêter trop attention au wiki. Bêtement (et pourtant je sais), je me suis dit "je mets ça et puis on verra si des gens veulent l'utiliser". Sauf que j'ai laissé beaucoup de trop de liberté : quiconque peut créer un compte et faire des pages à sa guise sans modération… Résultat : des bots semblent s'y affronter, j'ai des centaines de pages du style http://openproduct.fr/wiki/index.php/US_Imposes_Sanctions_On_Hundreds_Of_Targets_In_Fresh_Russia_Action et 500 comptes utilisateurs dont au moins 99% de SPAM.

Concrètement, je peux sans doute tout virer tant pis pour les vrais mais il faut absolument en premier lieu changer la politique. J'aimerais :
1) Que les comptes soient validés par un admin.
2) Que les pages soient modérées ou même qu'un compte n'ait le droit de toucher qu'a une et unique page (La page de son entreprise).

Je pense que c'est au niveau du LocalSettings.php qu'il est le plus simple de toucher un truc du style de "$wgGroupPermissions['*']['createaccount'] = true;"

Avez-vous des pistes?

  • # Plusieurs couches de contrôle

    Posté par  . Évalué à 6.

    Je suis d'accord avec toi qu'un compte ne devrait pas pouvoir aller modifier la page d'un copain/concurrent. Peut-être que MediaWiki permet de faire ça, en mode page perso. Mais peut-être que ça veut dire qu'un Wiki n'est pas la bonne solution technique ? On dirait que tu as plus besoin d'un truc genre "un compte -> une page".

    99% de spam, tu es dans la norme, et c'est triste :(.

    C'est pour ça que les créations de comptes passent maintenant par divers filtres, comme les CAPTCHA (qui ne sont pas toujours accessibles), les validations par e-mail (qui posent un problème de collecte de données perso), et autres.

    Et une fois que tu as fiabilisé la création de comptes (et perdu quelques personnes découragées au passage), il reste la maintenance de sécurité, sinon au moindre bug, ton MediaWiki ou Wordpress se fait injecter du contenu et des virus par des bots même pas authentifiés.

    Bref, tu dois avoir une porte d'entrée solide, et avoir de quoi contrôler derrière.

    À minima, donc :

    • CAPTCHA
    • validation du compte par e-mail
    • Double authentification (pour limiter l'impact du vol de mot de passes)1
    • Veille sur les bugs et trous de sécurités (mises à jours automatiques ?)

    La validation manuelle est peut-être le plus fiable, mais risque d'être hyper chronophage : les bots ne dorment pas.

    Si tu veux aller plus loin, mettre des mécanismes actifs comme :

    • Brider l'origine des IPs qui peuvent participer. Comme ton projet est centré sur la France, ça peut avoir du sens, qui à oublier les personnes qui arrivent de Tor.
    • Firewalls applicatifs
    • un IPS (Snort par exemple)
    • Avoir un système qui te signale les pages qui contiennent certains mots clés comme potentiellement hors-sujet.
    • Un indispensable jardinage, comme pour tous les Wikis.

    Bon courage !


    1. à minima pour les comptes admin 

    • [^] # Re: Plusieurs couches de contrôle

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      Je n'ai pas envie de me casser la tête pour un projet à cette échelle avec 36 trucs. D'autant plus que je suis dépendant de l'hébergeur (mutualisé, je ne peux pas installer les applis que je veux).

      Le wiki, est le seul moyen de donner accès facile en modification, sans développer un truc custom. Il faut que je valide manuellement les comptes et ensuite que je fasse confiance aux producteurs, avec un système de validation par un modérateur. Mais c'est ce que je ne sais pas configurer…

      J'ai tout bloqué dans un premier temps et fait un sacré ménage (Quitte à perdre des pages ou comptes légitimes)… Maintenant, il me faut mettre en un système propre (redonner des droits..).

      Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: Plusieurs couches de contrôle

        Posté par  . Évalué à 4.

        Je comprend, ça fait pas rêver.

        Dans la page Combating spam (en Français) de la doc de MediaWiki, il y a quelques suggestions en commun avec ce que j'ai raconté, mais surtout, il est précisé que certaines protections sont juste à activer, ou des plugins à installer. Ce n'est peut-être pas si terrible à mettre en place pour commencer.

        Quoi qu'il en soit, bon courage pour ton projet !

  • # mediawiki != wikimedia

    Posté par  (site web personnel) . Évalué à 5.

    mediawiki c'est ce qui propulse wikipedia

    wikimedia ce sont des contenus de wikipedia (pour simplifier)

    tu peux modifier ton entrée de forum pour éviter que cela perturbe quelqu'un d'autre ;-)

  • # les bots...

    Posté par  (site web personnel) . Évalué à 5.

    Les bots sont particulièrement actifs sur mediawiki, car les points d'entrée sont bien connus et scriptables facilement…

    Déjà, change l'URL d'inscription, ça te virera 99% des bots qui s'inscrivent (et les mecs derrière ne s'embêtent pas trop à tenter de lire où se trouverait la bonne URL…). Ça fera déjà la différence entre des humains et des bots ;-)

    1) Que les comptes soient valider par un admin.

    ça c'est ballot, ça va limiter les contributions impulsives et te donner un boulot récurrent :/

    2) Que les pages soient modérer ou même qu'un compte n'ai le droit de toucher qu'a une et unique page (La page de son entreprise).

    c'est un peu contraire à l'esprit wiki :/

    en revanche, suivre les dernières modifications ça oui, c'est déjà possible (et malencontreusement à faire surtout pour le vandalisme parfois…).
    Mais bon, juguler le spam ne doit pas devenir ton boulot principal, suivre l'activité du site peut être une activité périodique (à toi de choisir la cadence, pas les bots)

    • [^] # Re: les bots...

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      change l'URL d'inscription

      Bonne idée. Je ne savais pas que c'était possible, comment fait-on ceci?

      Évidemment cela complique la contribution spontanée mais majoritairement, ce devrait être les producteurs je pense.

      Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

      • [^] # Re: les bots...

        Posté par  (site web personnel) . Évalué à 5.

        je pense que tu peux changer la page Spécial:Connexion et placer le code qu'elle contient sur une autre page Spécial:Connexion2 (ou tout autre nom).

        je n'utilise pas trop le moteur mediawiki (trop élaboré pour mon usage), mais déjà faire cela sur mes wiki a quasi réduit à 0 les connexions de bots (et bien sûr de nouvelles pages ne peuvent être créées que par quelqu'un d'identifié.

        comme dit plus haut, tu as pas mal d'extensions à Mediawiki pour le faire passer d'un mode tout est ouvert à seules les personnes identifiées peuvent contribuer

        tu pourras protéger certaines des pages réservées à la contribution de certains participants via https://www.mediawiki.org/wiki/Extension:AccessControl par exemple
        et tu as pleins d'autres extensions… voir https://www.mediawiki.org/wiki/Category:Extensions

        • [^] # Re: les bots...

          Posté par  (site web personnel, Mastodon) . Évalué à 1.

          Merci, j'aimerai faire en sorte de changer le nom en "Spécial:Connexion2" mais je ne trouve pas ou le faire. (J'ai regardé https://www.mediawiki.org/wiki/Manual:Special_pages/fr). Cela ne semble pas si simple car "title=Spécial:UserLogin" fonctionne aussi, il y a de alias…

          Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

          • [^] # Re: les bots...

            Posté par  (site web personnel, Mastodon) . Évalué à 1.

            Il suffit que je poste ça pour que je trouve "languages/messages/MessagesFr.php", mais là ce ne sont que les alias… il me faudrait UserLogin…

            Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

            • [^] # Re: les bots...

              Posté par  (site web personnel, Mastodon) . Évalué à 1.

              Je crois avoir réussi voilà ce que j'ai changé en abrégé:

              • vendor/wikimedia/parsoid/baseconfig/frwiki.json => { "realname": "Userlogin2", "aliases": [ "Connexion2", "Identification2", "UserLogin2", "Login2" ] }
              • languages/messages/MessagesFr.php => 'Userlogin2' => [ 'Connexion2', 'Identification2' ],
              • languages/i18n/fr.jsonlanguages/i18n/fr.json => :%s/Special:UserLogin/Special:UserLogin2/gc

              • includes/specials/SpecialUserLogin.php => __construct( 'Userlogin2' );

              • includes/specialpage/SpecialPageFactory.php => 'Userlogin2' => [

              • includes/OutputPage.php => getTitleFor( 'Userlogin2' );

              Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

              • [^] # Re: les bots...

                Posté par  (site web personnel, Mastodon) . Évalué à 1.

                Et j'oublie

                • includes/skins/SkinTemplate.php : self::makeSpecialUrl( 'Userlogin2', $returnto )

                Il y a peut-être moyen d'éviter de modifier le pattern "Userlogin" ce qui serait plus propre et ne casserait pas toutes les références. Seulement j'ai l'impression que quand on lui passe une "SpecialPage" qu'il ne connait pas il essaye de la rechercher directement sans la "traduire"… donc il la trouvera.

                Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

                • [^] # Re: les bots...

                  Posté par  (site web personnel) . Évalué à 2.

                  pour limiter les modifs, c'est surtout le point d'entrée (l'URL visible d'Internet) qu'il faut modifier ;-) ça te simplifiera les mises à jour ultérieures ; mais oui, comprendre le fonctionnement interne de ton moteur de wiki permet de maîtriser ce qui est accessible (et penser aux mises à jour de sécurité/montée de version ainsi que pour les extensions…)

                  Il faut que tu réfléchisses / change de point de vue :

                  • page wiki exposée / rendue, gérée par l'admin, lien à changer à 2-3 endroits => le plus simple
                  • code appelé (qui peut être mis à jour), à peu modifier (sinon tu en deviens le mainteneur…)

                  Bref, c'est un peu pour ça que pour mon besoin j'avais pris des moteurs de wiki plus simples que mediawiki (mais peu maintenus depuis /o)

  • # Solution radicale

    Posté par  . Évalué à 1.

    Se débarrasser du wiki ?

    Non seulement il ne semble pas adapté à ton cas d'usage en matière de gestion de droits mais j'ai en plus du mal à saisir la plus value qu'il apporte par rapport à la carte. Hormis les prises de tête.

    Je suis allé voir cette carte et il y a pas mal de monde autour de chez moi. Cool. Ça marche très bien en plus.

    Mais du coup, avec les modifications (*) évoquées plus haut, le lien "+ d'infos" dans le pop up descriptif

    • renvoie vers le wiki sur lequel on ne peut pas agir
    • et dont la page est probablement vide.

    comme celui-ci http://openproduct.fr/wiki/index.php/Atelier_de_vero

    C'est pas top.

    (*) sinon, je ne peux pas m’empêcher d'adorer cette manipulation digne des temps barbares de l'ère du PHP du millénaire précédent.

    "Si tous les cons volaient, il ferait nuit" F. Dard

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.