Manuel:$wgLegalTitleChars

From mediawiki.org
This page is a translated version of the page Manual:$wgLegalTitleChars and the translation is 100% complete.
Titres de page et redirections: $wgLegalTitleChars
Réécrase la liste par défaut des caractères illégaux dans les titres de page.
Introduit dans la version :1.6.0 (r10960)
Obsolète dans la version :1.41.0 (Gerrit change 942710; git #1552f420)
Retiré dans la version :Encore utilisé
Valeurs autorisées :(chaîne)
Valeur par défaut :' %!"$&\'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+' (1.39+)

" %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+" (1.8-1.38)

" %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF" (1.6-1.7)

Détails

Avertissement Avertissement : Ne modifiez pas cela à moins que vous sachiez ce que vous faites !

Ceci est une classe de caractères reconnus par une expression régulière (c'est à dire une liste de caractères dans un format compatible avec une expression régulière) que MediaWiki autorise dans les titres des pages même s'ils appartiennent à la liste des caractères illégaux.

La liste des caractères illégaux est définie ainsi : #<>[]|{}, les caractères non imprimables de 0 à 31, et le caractère d'effacement 'delete' 127.

Caractères problématiques

Les caractères de ponctuation suivants, s'ils sont autorisés, peuvent créer des problèmes :

  • []{}|# - Ceux-ci servent pour la syntaxe des liens et des modèles; ne les autorisez jamais.
  • <> - Ceux-ci causent des problèmes avec le code HTML échappé, ne les utilisez pas.
  • % - Les problèmes mineurs avec le chemin pour récupérer les règles de réécriture, voir ci-dessous. Inclus dans la liste des caractères permis par défaut.
  • + - Ne fonctionne pas avec le chemin pour récupérer les règles de réécriture; modifié par Apache. Inclus par défaut dans la liste des caractères autorisés, depuis MediaWiki 1.8.0. Dans certains cas rares, vous pouvez avoir à supprimer '+' pour rester compatible avec les anciens liens.
  • ? - Ne fonctionne pas avec le chemin vers les réécritures de PATH_INFO. Inclus par défaut dans la liste des caractères autorisés.

Les trois derniers cas problématiques peuvent être évités en utilisant un alias, au lieu d'une règle de réécriture quelconque.

Le problème avec '%' est que lorsque vous utilisez un chemin pour rechercher les règles de réécriture, les URLs sont échappées deux fois : une fois par le code de conversion de chemin de Apache, et une deuxième fois par PHP. Ainsi %253F, par exemple devient un « ? ». Notre code ne fait pas de double échappement pour compenser cela; bien sûr le double échappement va faire échouer si le titre ainsi modifié était passé dans la chaîne de la requête plutôt que dans le chemin. Ceci est un problème mineur de sécurité parce que les articles peuvent être créés mais sont difficiles à voir ou à modifier.

Théoriquement les valeurs de 0x80 à 0x9F de l'ISO 8859-1 doivent êtres exclues, mais ceci casse les liens interlangues et donc ils sont inclus par défaut dans la liste des caractères autorisés.

Références

Voir aussi