Extension:TitleBlacklist
TitleBlacklist Sürüm durumu: kararlı |
|
---|---|
![]() |
|
Uygulama | Kullanıcı hakları , API |
Açıklama | Normal ifade kara listesiyle eşleşen sayfaların oluşturulmasını engeller |
Yazar(lar) | Victor Vasiliev (VasilievVVmesaj) |
En son sürüm | 1.5.0 (Güncellemeler devam etmekte) |
Uyumluluk politikası | Snapshots releases along with MediaWiki. Master is not backwards compatible. |
MediaWiki | 1.35+ |
PHP | 7.0+ |
Lisans | GNU Genel Kamu Lisansı 2.0 veya üstü |
İndir | |
|
|
|
|
Translatewiki.net adresinde mevcutsa, TitleBlacklist uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
TitleBlacklist uzantısı, viki hizmetlilerin başlığı bir veya daha fazla düzenli ifadeler ile eşleşen sayfaların oluşturulmasını, taşınmasını ve yüklenmesini engellemesine ve hesap oluşturmayı engellemesine olanak tanır.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiTitleBlacklist
adlı dizine yerleştirin. - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'TitleBlacklist' );
- Engelleme listesi kaynaklarını yapılandır (aşağıya bakın)
Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
$wgGroupPermissions['sysop']['tboverride'] = false;
kullanın.Yapılandırma
$wgTitleBlacklistSources
- Başlık kara listesi kaynakları dizisi.
- Dizi( name => source açıklaması) biçiminde olmalıdır. Varsayılan olarak boş bir dizidir.
$wgTitleBlacklistUsernameSources
- Kullanıcı adı filtresi olarak çalışabilecek kaynakları ayarlar.
- '*' herkes içindir; false her şeyi devre dışı bırakır.
- Belirli kaynaklarla sınırlamak istiyorsanız dizi kullanın (kaynak adı 1, kaynak adı 2). Bu, kara liste parçalanmasını önlemek için hesap oluşturma sisteminizi paylaştığınızda faydalı olabilir.
$wgTitleBlacklistLogHits
- Değer true ise, Special:Log/titleblacklist üzerinde kara listelerle eşleşen tüm yerel hesap oluşturma girişimlerini günlüğe kaydeder. Varsayılan değer
false
. Devre dışı olsa bile, günlüğüntitleblacklistlog
hakkı olan kullanıcı grupları için görünmeye devam edeceğini unutmayın. $wgTitleBlacklistCaching
- ?
$wgTitleBlacklistBlockAutoAccountCreation
- Ayrıca, kara listelerle eşleşen otomatik olarak oluşturulan hesabı da engeller. Varsayılan değer
true
.
- Çoklu engel listesi kaynakları
Başlık engeli listesi, yerel mesajın dışındaki birden fazla kaynaktan toplanabilir. Engel listesi kaynaklarını yapılandırmak için aşağıda açıklanan kodu kullanın:
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',
]
];
Daha fazla bilgi için T113864 soruna bakın.
Kullanım
Engel list
Başlık engelleme listesi MediaWiki:Titleblacklist sayfasında bulunur.
Bu sayfa, her biri ayrı bir satırdaki normal ifadelerden oluşur, örneğin:
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
Her giriş ayrıca <>
içine eklenmiş ve |
ile ayrılmış isteğe bağlı özellikler içerebilir.
- autoconfirmed - ayrıca otomatik olarak onaylanan kullanıcıların bu tür işlemleri gerçekleştirmesine izin verir
- casesensitive - engel listesine konulup yazılmadığını kontrol ederken durumu görmezden gelme
- noedit - kullanıcılar bu sayfaları da düzenleyemez
- moveonly - taşımaları yasakla ancak sıradan yaratmaya izin ver (rev:35163)
- newaccountonly - eşleşen kullanıcı adlarının oluşturulmasını yasaklayın, ancak sayfa oluşturmaya izin verin (rev:38977)
- reupload - mevcut engellenen dosyaların yeniden yüklenmesine izin verin (rev:33656)
- errmsg - standart yerine görüntülenmesi gereken mesajın adı
AntiSpoof uzantısı kuruluysa, <antispoof>
niteliğini de kullanabilirsiniz.
Burada düzenli ifadeler olarak adlandırılan, uygun düzenli ifadeler değil, sabit kodlu düzenli ifadeye eklenen alt kalıplardır. yani, yukarıdaki Foo alt deseni, /^Foo$/usi gibi düzenli bir ifade oluşturur.
Başlıklar metin biçimiyle eşleştiği için normal ifadelerde alt çizgiler ("_
") uzaya dönüştürülecektir ("Sayfa_başlığı" yerine "Sayfa başlığı").
Güvenli listesi
Ayrıca MediaWiki:Titlewhitelist sayfasında güvenli bir liste vardır. Önce engelleme listesi, ardından güvenli liste uygulanır. Böylece, güvenli listedeki bir girişle eşleşmesi dışında, engelleme listesindeki bir girişle eşleşen kullanıcı girişi engellenir. Güvenli listeyi kullanmak için LocalSettings.php dosyasında herhangi bir şey yapılandırmanız gerekmez. Engelleme listesi için yukarıda listelenen isteğe bağlı özelliklerden bazıları, güvenli liste için de çalışır; harfe duyarlı.
Özelleştirme
- Uyarı mesajları
Engelleme listesinde listelenen bir başlık nedeniyle sayfa oluşturma denemesi engellendiğinde, kullanıcıya bir uyarı mesajı gösterilir. Bu sistem mesajları aracılığıyla özelleştirilebilir
- MediaWiki:Titleblacklist-forbidden-edit: sayfa oluşturma ve düzenleme için
- MediaWiki:Titleblacklist-forbidden-move: sayfa taşıma işlemleri için
- MediaWiki:Titleblacklist-forbidden-upload: resim yüklemeleri için
- MediaWiki:Titleblacklist-forbidden-new-account: yeni hesapları için
Özel mesajlar errmsg
özelliği kullanılarak tanımlanabilir.
Örnek: Kullanıcı hesabı oluşturma işlemini kontrol etmek için TitleBlacklist'i kullanma
Kavramsal genel bakış
Yeni hesapların kullanıcı adı, bu uzantı tarafından yeni maddelere göre farklı olarak değerlendirilir. Bu uzantı, bir kullanıcının hesap oluştur sayfasında Kullanıcı adı
'na girdiği dizenin başına "Kullanıcı:" (veya yerelleştirilmiş eşdeğeri) başını ekler. Dolayısıyla, bu uzantı MediaWiki:Titleblacklist veya MediaWiki: Titlewhitelist sayfasında bulunan düzenli ifadelerinizle eşleştiğinde, "Kullanıcı:" + <userinput> ile eşleşecektir.
Örneğin, "jill" yeni bir kullanıcı olarak engellemek istediğinizi düşünün. Bir engel listesi düzenli ifade "jill.*<newaccountonly>" ve bir kullanıcı hesap oluşturma sayfasında kullanıcı adı olarak "jill" girdiğinizi düşünün. Bu uzantının yapacağı karşılaştırma "jill.*" (Normal ifade) ve "Kullanıcı:jill" (oluşturulmuş giriş dizesi) arasında olacağı için geçecektir. Bunlar eşleşmiyor ve bu nedenle "jill" ile izin veriliyor (ve muhtemelen bunu yapmadınız). Amaçlanan engeli etkilemek için MediaWiki:Titleblacklist üzerinde ".*jill.*<newaccountonly>" veya "Kullanıcı:jill.*<newaccountonly>" gibi bir normal ifade kullanın. Imagine you had a block list regex "jill.* <newaccountonly>" and a user enters "jill" as the username on the create account page. This will pass as the comparison this extension 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.
Normal ifadeyle eşleşen tüm kullanıcılar hariç tüm kullanıcıları engellemek istiyorsanız, MediaWiki:Titleblacklist içindeki tüm kullanıcıları engelleyin ve MediaWiki:Titlewhitelist içine izin verilen normal ifadeyi yazın.
Nasıl yapılır
Tüm kullanıcı adlarını, hesap oluşturma sırasında, boşluk ayrılmış, her ad büyük harfle yazılmış tam olarak iki addan oluşmaya zorlamak istiyorsanız, aşağıdakileri yapın:
1. TitleBlacklist kurun.
2. LocalSettings.php öğenize aşağıdakileri ekleyin
wfLoadExtension( 'TitleBlacklist' );
$wgGroupPermissions['sysop']['tboverride'] = false;
$wgTitleBlacklistSources = [
[
'type' => 'localpage',
'src' => 'MediaWiki:Titleblacklist'
]
];
3. https://www.example.com/mywiki/MediaWiki:Titleblacklist bağlantısında ekleyin
# Block all user accounts, and only permit those that match the MediaWiki:Titlewhitelistregex
.* <newaccountonly>
4. https://www.example.com/mywiki/MediaWiki:Titlewhitelist bağlantısında ekleyin
# 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. https://www.example.com/mywiki/MediaWiki:Titleblacklist-forbidden-new-account edit bağlantısında
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.
Kullanıcı adı oluşturma (ve madde oluşturma) engelleme kuralları MediaWiki:Titleblacklist ve MediaWiki:Titlewhitelist tarafından denetlenir. Bu mesaj MediaWiki:Titleblacklist-forbidden-new-account sayfasından özelleştirilebilir.
Eşleşmeleri test etme
action=titleblacklist API modülü, bir başlığı ve işlemi (ör. düzenle, oluştur, yeni hesap) engelleme listesine karşı test etmek için kullanılabilir.
'tboverride' hakkına sahip kullanıcılar tbnooverride
parametresini sağladığından emin olmalıdır.
Örneğin, engelleme listesi filtreyi içeriyorsa:
.*(.)\1{10}.* <newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid> # Disallows eleven or more of the same character repeated in usernames
bir API isteği gibi kullanabilirsiniz
Sonuç |
---|
{
"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}.* <newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid> # Disallows eleven or more of the same character repeated in usernames"
}
}
|
Scribunto yüklüyse, bu uzantı belirli başlıkların ve işlemlerin mw.ext.TitleBlacklist.test
işlevini kullanarak engel listesindeki bir girişle eşleşip eşleşmeyeceğini test etmeye izin verir.
Bir eşleşme bulunursa, eşleşen girişin ayrıntıları döndürülür.
Örneğin, engelleme listesi filtreyi içeriyorsa:
.*(.)\1{10}.* <newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid> # Disallows eleven or more of the same character repeated in usernames
işlevi çalıştırmak:
mw.ext.TitleBlacklist.test("new-account", "AAAAAAAAAAA")
eşleşen girişle ilgili ayrıntıları içeren aşağıdaki tabloyu döndürür:
{
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
}
Normal ifadelerdeki kaynaklar
- Normal İfadelere Kısa Bir Giriş
- 30 Dakikalık Düzenli İfade. Eğitimi
- PHP: PCRE düzenli ifade sözdizimi, PHP tarafından kullanılan normal ifadelerin sözdizimi ve dolayısıyla bu uzantıdadır
Ayrıca bakınız
![]() | Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
- Extensions bundled with MediaWiki 1.21/tr
- Stable extensions/tr
- User rights extensions/tr
- API extensions/tr
- GPL licensed extensions/tr
- Extensions in Wikimedia version control/tr
- EditFilter extensions/tr
- MovePageCheckPermissions extensions/tr
- PageSaveComplete extensions/tr
- ScribuntoExternalLibraries extensions/tr
- TitleGetEditNotices extensions/tr
- GetUserPermissionsErrorsExpensive extensions/tr
- All extensions/tr
- Extensions used on Wikimedia/tr