Extension:TitleBlacklist

This page is a translated version of the page Extension:TitleBlacklist and the translation is 92% complete.
Outdated translations are marked like this.
Cette extension est fournie avec MediaWiki 1.21 et supérieur. Ainsi vous n'avez pas besoin de la télécharger à nouveau. Néanmoins, vous devez encore suivre les autres instructions fournies.
Manuel des extensions MediaWiki
OOjs UI icon advanced-invert.svg
TitleBlacklist
État de la version : stable
TitleBlacklist demonstration.png
Implémentation Droits utilisateur , API
Description Bloque la création de pages correspondant à une liste de blocage d'expression régulière
Auteur(s) Victor Vasiliev (VasilievVVdiscussion)
Dernière version 1.5.0 (Mises à jour continues)
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.35+
PHP 7.0+
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
  • $wgTitleBlacklistSources
  • $wgTitleBlacklistUsernameSources
  • $wgTitleBlacklistCaching
  • $wgTitleBlacklistBlockAutoAccountCreation
  • $wgTitleBlacklistLogHits
  • tboverride
  • tboverride-account
  • titleblacklistlog
Traduire l’extension TitleBlacklist sur translatewiki.net

Vérifier la matrice des utilisations et des versions.

Problèmes Tâches ouvertes · Signaler un bogue

L'extension 'TitleBlacklist permet aux administrateurs de wiki de bloquer la création, le déplacement et le téléchargement de pages, dont le titre correspond à une ou plusieurs regular expressions, ainsi que de bloquer la création de comptes avec des noms d'utilisateurs correspondants.Bloque la création de pages correspondant à une liste noire d'expressions régulières

Installation

  • Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé TitleBlacklist dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
    wfLoadExtension( 'TitleBlacklist' );
    
  • Configure block list sources (see below)
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Par défaut, elle n'affecte que les utilisateurs non-sysop. Pour le définir par défaut pour tous les utilisateurs, utilisez $wgGroupPermissions['sysop']['tboverride'] = false ; .

Configuration

$wgTitleBlacklistSources
Tableau des sources de la liste de blocage des titres.
Doit être au format array( name => source description ). Chaîne vide par défaut.
$wgTitleBlacklistUsernameSources
Définit les sources qui peuvent fonctionner comme un filtre de nom d'utilisateur.
'*' est pour tous ; false désactive tout.
Si vous voulez la limiter à des sources particulières, utilisez array (nom de source 1, nom de source 2). Cela peut être utile lorsque vous avez partagé le système de création de compte afin d'éviter la fragmentation de la liste noire.
$wgTitleBlacklistLogHits
Lorsque la valeur est true, les tentatives de création de comptes locaux correspondant aux listes de blocage sont consignées dans Special:Log/titleblacklist. Par défaut false. Notez que même désactivé, le journal sera toujours visible pour les groupes d'utilisateurs avec le droit titleblacklistlog.
$wgTitleBlacklistCaching
?
$wgTitleBlacklistBlockAutoAccountCreation
Bloque également les comptes créés automatiquement qui correspondent aux listes de blocage. Par défaut $false

Plusieurs sources de liste de blocs

La liste des blocs de titre peut être collectée à partir de plusieurs sources en dehors du message local. Pour configurer les sources de liste de blocage, utilisez le code suivant :

wfLoadExtension( 'TitleBlacklist' );
$wgTitleBlacklistSources = [
    [
         'type' => 'localpage',
         'src'  => 'MediaWiki:Titleblacklist'
    ],
    [
         'type' => 'url',
         'src'  => 'https://meta.wikimedia.org/w/index.php?title=Title_blacklist&action=raw'
    ],
    [
         'type' => 'file',
         'src'  => '/home/wikipedia/blacklists/titles',
    ]
];

Voir numéro T113864 pour plus d'informations.

Utilisation

Liste de Blocage

La liste des titres bloqués se trouve sur la page MediaWiki : Titleblacklist.

Cette page se compose d'expressions régulières, chacune sur une ligne distincte, par exemple : Each of them forbids the creation of pages whose titles match it. For example:

Foo <autoconfirmed|noedit|errmsg=blacklisted-testpage> #This page name is not allowed
[Bb]ar #No one should create article about it
.*pandora.* #This word is not allowed in any part of a page name

Chaque entrée peut également contenir des attributs facultatifs, inclus dans &lt ; &gt ; et séparés par |

  • autoconfirmed - permet également aux utilisateurs confirmés automatiquement d'effectuer de telles actions
  • casesensitive - ne pas ignorer la casse lors de la vérification du titre pour être mis sur la liste de blocage
  • noedit - also forbid editing the page (if it already exists)
  • moveonly - interdire les déplacements mais autoriser la création ordinaire (rev:35163)
  • newaccountonly - interdire la création de noms d'utilisateurs correspondants, mais autoriser la création de pages (rev:38977)
  • reupload - autoriser le rechargement de fichiers bloqués existants (rev:33656)
  • errmsg - le nom du message qui doit être affiché au lieu de la norme

Si l'extension AntiSpoof est installée, vous pouvez également utiliser l'attribut ‎<antispoof>.

Ce que l'on appelle ici des expressions régulières ne sont pas des expressions régulières correctes, mais plutôt des sous-modèles qui sont insérés dans une expression régulière codée en dur. c'est-à-dire que le sous-motif Foo ci-dessus créerait une expression régulière comme /^Foo$/usi.

Les traits de soulignement ("_") dans les expressions régulières seront convertis en espaces par l'extension, car les titres sont mis en correspondance avec leur forme de texte ("Page title" au lieu de "Page_title").

Liste sécurisée

Il y a aussi une liste de sécurité à MediaWiki : Titlewhitelist. La liste de blocage est appliquée en premier, puis la liste de sécurité. Ainsi, les entrées utilisateur qui correspondent à une entrée de la liste de blocage sont bloquées, sauf si elles correspondent à une entrée de la liste de sécurité. Vous n'avez pas à configurer quoi que ce soit dans LocalSettings.php pour utiliser la liste de sécurité. Certains des attributs facultatifs énumérés ci-dessus, pour la liste de blocage, fonctionnent également pour la liste de sécurité, p.ex. "sensible à la casse".

Personnalisation

Message d'avertissement

Lorsque la création de page est bloquée parce que le titre figure dans la liste de blocage, un message d'avertissement est affiché à l'utilisateur. Il peut être adapté via les messages système :

Les messages personnalisés peuvent être définis à l'aide de l'attribut errmsg.

Exemple : Utilisation de TitleBlacklist pour contrôler la création de compte d'utilisateur

Présentation conceptuelle

Le nom d'utilisateur pour les nouveaux comptes sera considéré par cette extension différemment de la façon dont il considère les nouveaux articles. Cette extension va ajouter "User :" (ou son équivalent localisé) à la chaîne qu'un utilisateur saisit à Username sur la page de création du compte. Ainsi, lorsque cette extension effectue des correspondances avec votre Regex, comme trouvé sur MediaWiki : Titleblacklist ou MediaWiki : Titlewhitelist, elle correspondra à "User:" + <userinput>.

Par exemple, imaginez que vous voulez bloquer "jill" en tant que nouvel utilisateur. Imaginez que vous disposiez d'une liste de blocage regex "jill.* <nouveau compte uniquement>" et qu'un utilisateur entre "jill" comme nom d'utilisateur sur la page de création de compte. Cela passera car la comparaison que fera cette extension sera entre "jill.*" (le regex) et "User : jill" (la chaîne d'entrée construite). Ceux-ci ne correspondent pas et donc "jill" est autorisé (et vous n'aviez probablement pas l'intention de cela). Pour appliquer le bloc voulu, utilisez une expression régulière telle que ".*jill.* <newaccountonly>" ou "User : jill.* <newaccountonly>" sur MediaWiki : Titleblacklist.

Si vous voulez bloquer tous les utilisateurs à l'exception de ceux qui ne correspondent à un regex, bloquez tous les utilisateurs dans MediaWiki : Titleblacklist et écrivez le regex autorisé dans le MediaWiki : Titlewhitelist.

Comment

Si vous souhaitez forcer tous les noms d'utilisateur, lors de la création du compte, à se composer exactement de deux noms, séparés par des espaces, avec chaque nom en majuscules, procédez comme suit :

1. Installez la liste noire des titres.

2. Ajoutez ce qui suit à vos LocalSettings.php

wfLoadExtension( 'TitleBlacklist' );
$wgGroupPermissions['sysop']['tboverride'] = false; 
$wgTitleBlacklistSources = [
  [
    'type' => 'localpage',
    'src'  => 'MediaWiki:Titleblacklist'
  ]
];

3. Dans https://www.example.com/mywiki/MediaWiki:Titleblacklist ajouter

# Block all user accounts, and only permit those that match the MediaWiki:Titlewhitelistregex 
.* <newaccountonly>

4. Dans https://www.example.com/mywiki/MediaWiki:Titlewhitelist ajouter

# Only allow two names, separated by a space, with each name capitalized. E.g "Fred Mew" OK, "Fred mew" fails, "Fredmew" fails.
# Depends on .* <newaccountonly> in block list
User:[A-Z][a-z]+\s[A-Z][a-z]+ <casesensitive>

5. En https://www.example.com/mywiki/MediaWiki:Titleblacklist-forbidden-new-account edit

The user name "$2" has been blocked from creation. It matches the following block list entry: <code>$1</code>.

Please use a real name for the user name. User names need to be comprised of two names separated by a space. Each name must be capitalized.

E.g.:
* "Mary Smith". OK.
* "MarySmith". Invalid.
* "Mary smith". Invalid.
* "marysmith". Invalid.

Les règles de blocage de la création de noms d'utilisateurs (et de la création d'articles) sont contrôlées par MediaWiki : Titleblacklist et MediaWiki : Titlewhitelist. Ce message peut être personnalisé à MediaWiki : Titleblacklist-forbidden-new-account

Test des correspondances

Le module API action=titleblacklist peut être utilisé pour tester un titre et une action (par exemple, modifier, créer, nouveau compte) par rapport à la liste de blocage. Les utilisateurs ayant le droit "tboverride" doivent être sûrs de fournir le paramètre tbnooverride.

Par exemple, si la liste de blocs contenait le filtre:

.*(.)\1{10}.* <newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid> # Disallows eleven or more of the same character repeated in usernames

vous pouvez utiliser une requête API comme

Résultat
{
    "titleblacklist": {
        "result": "blacklisted",
        "reason": "<table  class=\"plainlinks fmbox\nfmbox-system \" style=\"\" role=\"presentation\" dir=\"ltr\">\n<tr>\n<td class=\"mbox-image\">\n  [[File:Imbox notice.png|40x40px|link=|alt=]]</td>\n<td class=\"mbox-text\" style=\"\"> The user name \"AAAAAAAAAAA\" [[Mediawiki talk:Titleblacklist|has been put on the block list]] from creation. </td>\n\n</tr>\n</table>",
        "message": "titleblacklist-forbidden-new-account-invalid",
        "line": ".*(.)\1{10}.* &lt;newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid&gt; # Disallows eleven or more of the same character repeated in usernames"
    }
}

Si Scribunto est installé, cette extension permet de tester si des titres et des actions spécifiques correspondent à une entrée de la liste de blocs à l'aide de la fonction mw.ext.TitleBlacklist.test. Si une correspondance est trouvée, les détails de l'entrée correspondante sont renvoyés.

Par exemple, si la liste de blocage contenait le filtre :

.*(.)\1{10}.* <newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid> # Disallows eleven or more of the same character repeated in usernames

exécution de la fonction :

mw.ext.TitleBlacklist.test("new-account", "AAAAAAAAAAA")

renverrait la table suivante contenant les détails de l'entrée correspondante :

{
	custommessage = "titleblacklist-forbidden-new-account-invalid",
	message = "titleblacklist-forbidden-new-account-invalid",
	params = {
		errmsg = "titleblacklist-forbidden-new-account-invalid",
		newaccountonly = true
	},
	raw = " .*(.)\1{10}.* <newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid> # Disallows eleven or more of the same character repeated in usernames",
	regex = ".*(.)\1{10}.*",
	version = 3
}

Ressources des expressions régulières

Voir aussi