Rozszerzenie:TitleBlacklist

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:TitleBlacklist and the translation is 35% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Tiếng Việt • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎suomi • ‎беларуская (тарашкевіца)‎ • ‎中文 • ‎日本語 • ‎한국어
This extension comes with MediaWiki 1.21 and above. Thus you do not have to download it again. However, you still need to follow the other instructions provided.
Podręcznik rozszerzeń MediaWiki
Crystal Clear action run.svg
TitleBlacklist
Status wydania: stabilne
TitleBlacklist demonstration.png
Realizacja User rights, API
Opis Blokuje tworzenie stron pasujących do czarnej listy wyrażeń regularnych.
Autor(zy) Victor Vasiliev (VasilievVVtalk)
Ostatnia wersja 1.5.0 (2014-03-29)
Polityka zgodności gałęzie wydań
MediaWiki 1.27+
PHP 5.4+
Zmiany w bazie danych Nie
Licencja GNU General Public License 2.0 or later
Pobieranie
Parametry

  • $wgTitleBlacklistSources
  • $wgTitleBlacklistUsernameSources
  • $wgTitleBlacklistLogHits
  • $wgTitleBlacklistCaching
  • $wgTitleBlacklistBlockAutoAccountCreation
Dodawane prawa

  • tboverride
  • tboverride-account
  • titleblacklistlog
Użyte haki
getUserPermissionsErrorsExpensive
TitleGetEditNotices
MovePageCheckPermissions
EditFilter
PageContentSaveComplete
ScribuntoExternalLibraries
Przetłumacz rozszerzenie TitleBlacklist jeżeli jest dostępne na translatewiki.net
Sprawdź wykorzystywanie i matrycę wersji.
Problemy Otwarte zadania · Zgłoś błąd

Rozszerzenie TitleBlacklist pozwala administratorom wiki blokować tworzenie, przenoszenie i przesyłanie stron, których tytuł strony pasuje do jednego lub kilku wyrażeń regularnych, jak również pozwala na blokowanie tworzenia kont z pasującymi do nich nazwami użytkownika.

Instalacja

  • Pobierz i umieść plik(i) w katalogu o nazwie TitleBlacklist w swoim katalogu extensions/.
  • Dodaj poniższy kod na dole swojego pliku LocalSettings.php:
    wfLoadExtension( 'TitleBlacklist' );
    
  • Skonfiguruj źródła czarnej listy (zobacz niżej)
  • Yes Zrobione – Przejdź do Special:Version na swojej wiki, aby sprawdzić czy rozszerzenie zostało pomyślnie zainstalowane.
Domyślnie działa tylko na użytkowników, którzy nie są administratorami. Aby ustawić jako domyślnie dla wszystkich $wgGroupPermissions['sysop']['tboverride'] = false;.

Konfiguracja

$wgTitleBlacklistSources
Array of title blacklist sources.
Should be in array( name => source description ) format.
$wgTitleBlacklistUsernameSources
Sets the sources which may work as a username filter.
'*' is for all; false disables all.
If you want to limit it to particular sources, use array( source name 1, source name 2 ). This may be useful when you have shared account creation system in order to avoid blacklist fragmentation.
$wgTitleBlacklistLogHits
When true, logs on Special:Log/Titleblacklist all attempts of local account creation that match the blacklists. Defaults to false. Note that even disabled, the log will still be visible for users groups with the titleblacklistlog right.
$wgTitleBlacklistCaching
 ?
$wgTitleBlacklistBlockAutoAccountCreation
Wyłącza filtrowanie automatycznego tworzenia kont. Defaults to true.

Multiple blacklist sources

The Title blacklist can be gathered from multiple sources outside the local message. For configuring blacklist sources use code as described below:

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

Zobacz zgłoszenie T113864, by uzyskać dalsze informacje.

Usage

Blacklist

Czarną listę można znaleźć na stronie MediaWiki:Titleblacklist.

Ta strona składa się z regularnych wyrażeń, każdego w osobnej linii, na przykład:

Foo <autoconfirmed|noedit|errmsg=blacklisted-testpage> 
[Bb]ar #No one should create article about it

Każdy wpis może zawierać dodatkowe atrybuty, zamknięty w <> i odseparowany za pomocą |.

  • autoconfirmed – tylko automatycznie zatwierdzeni użytkownicy mogą tworzyć/przesyłać/przenosić stronę;
  • casesensitive – uwzględnianie wielkości liter;
  • noedit – użytkownicy nie mogą edytować strony;
  • moveonly – nie pozwala przenieść strony;
  • newaccountonly – nie pozwala stworzyć konta pod tą nazwą;
  • reupload – pozwala przesyłać ponownie plik w istniejących plikach pod nazwą na czarnej liście;
  • errmsg – wiadomość, która ma być wyświetlona zamiast standardowej.

If the AntiSpoof extension is installed, you can also use the <antispoof> attribute.

What is referred to here as regular expressions are not proper regular expressions, but rather subpatterns that are inserted into a hard-coded regular expression. i.e. the subpattern Foo from above would create a regular expression like /^Foo$/usi.

Podkreślniki ("_") w wyrażeniach regularnych zostaną zamienione przez to rozszerzenie na spacje, ponieważ nazwy stron są dopasowywane do jej poprawnej postaci („Nazwa strony” zamiast „Nazwa_strony”).

Biała lista

Istnieje również biała lista na stronie MediaWiki:Titlewhitelist. Najpierw ma zastosowanie czarna lista. Wprowadzone przez użytkowników nazwy pasujące do czarnej listy są blokowane, chyba, że pasują do wpisu na białej liście. Nie musisz niczego konfigurować w LocalSettings.php, w celu wykorzystania białej listy. Wiele z opcjonalnych atrybutów wypisano powyżej. Działają one tak samo dla białej listy, jak np. casesensitive.

Dostosowywanie komunikatów ostrzeżeń

Warning messages

Podczas próby stworzenia strony, której tytuł ma wpis na czarnej liście, pokazywane jest użytkownikowi ostrzeżenie. Wyświetlana wiadomość może być zmieniona na tych stronach:

Niestandardowe nazwy komunikatów dla indywidualnych wpisów listy mogą być zdefiniowane przez użycie atrybutu errmsg.

Używanie TitleBlacklist do kontrolowania tworzenia kont użytkowników

Koncept

The username for new accounts will be regarded by Titleblacklist differently to the way it regards new articles. Titleblacklist will prepend "User:" (or its localized equivalent) to the string that a user enters at Username on the create account page. So when Titleblacklist is performing matches with your Regex's, as found on MediaWiki:Titleblacklist or MediaWiki:Titlewhitelist, it will match against "User:" + <userinput>.

For example, imagine you want to block "jill" as a new user. Imagine you had a blacklist regex "jill.* <newaccountonly>" and a user enters "jill" as the username on the create account page. This will pass as the comparison Titleblacklist will make will be between "jill.*" (the regex) and "User:jill" (the constructed input string). These don't match and so "jill" is allowed (and you probably didn't intend this). To effect the intended block use a regex like ".*jill.* <newaccountonly>" or "User:jill.* <newaccountonly>" on MediaWiki:Titleblacklist.

If you want to block all users except for all those that do match a regex then block all users in MediaWiki:Titleblacklist and write the permissible regex in the MediaWiki:Titlewhitelist.

How to

If you would like to force all usernames, during account creation, to consist of exactly two names, space separated, with each name capitalized then do the following:

1. Zainstaluj TitleBlacklist.

2. Dodaj poniższy kod do swojego LocalSettings.php .

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

3. In https://www.example.com/mywiki/MediaWiki:Titleblacklist add

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

4. In https://www.example.com/mywiki/MediaWiki:Titlewhitelist add

# 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 blacklist
User:[A-Z][a-z]+\s[A-Z][a-z]+ <casesensitive>

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

The user name "$2" has been blocked from creation. It matches the following blacklist 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.

Zasady blokowania tworzenia stron użytkownika i artykułów są kontrolowane przez MediaWiki:Titleblacklist i MediaWiki:Titlewhitelist. Wiadomość może zostać zmieniona na stronie MediaWiki:Titleblacklist-forbidden-new-account.

Testing for matches

The API module action=titleblacklist can be used to test a title and action (e.g. edit, create, new-account) against the blacklist. Users with the 'tboverride' right should be sure to supply the tbnooverride parameter.

For example, if the blacklist contained the filter:

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

you could use an API request like

If Scribunto is installed, TitleBlacklist allows for testing if particular titles and actions will match an entry in the blacklist using the mw.ext.TitleBlacklist.test function. If a match is found, the details for the matched entry are returned.

Na przykład, jeśli czarna lista zawiera filtr:

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

uruchamiający funkcję:

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

would return the following table containing details about the matched entry:

{
	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
}


Strony o wyrażeniach regularnych

Zobacz też