Extension:TitleBlacklist

This page is a translated version of the page Extension:TitleBlacklist and the translation is 100% complete.
Bu uzantı MediaWiki 1.21 ve üstü ile gelir. Böylece tekrar indirmek zorunda değilsiniz. Ancak, verilen diğer talimatları izlemeniz gerekir.
MediaWiki manüel uzantıları
OOjs UI icon advanced-invert.svg
TitleBlacklist
Sürüm durumu: kararlı
TitleBlacklist demonstration.png
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ı MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil.
MediaWiki 1.35+
PHP 7.0+
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
  • $wgTitleBlacklistSources
  • $wgTitleBlacklistUsernameSources
  • $wgTitleBlacklistCaching
  • $wgTitleBlacklistBlockAutoAccountCreation
  • $wgTitleBlacklistLogHits
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üzdeki TitleBlacklist 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ın (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.
Varsayılan olarak yalnızca sistem dışı kullanıcıları etkiler. Tümünü varsayılan yapmak için $wgGroupPermissions['sysop']['tboverride'] = false; kullanın.

Yapılandırma

$wgTitleBlacklistSources
Başlık kara listesi kaynakları dizisi.
array( name => source description ) 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üğün titleblacklistlog 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 görev T113864 sayfasına bakın.

Kullanım

Engel list

Başlık engelleme listesi MediaWiki:Titleblacklist sayfasında bulunur.

Bu sayfa, her biri ayrı bir satırda bulunan normal ifadelerden oluşur. Her biri, başlıkları kendisiyle eşleşen sayfaların oluşturulmasını yasaklar. Örneğin:

Foo <autoconfirmed|noedit|errmsg=blacklisted-testpage> # Bu sayfa adına izin verilmiyor
[Bb]ar # Kimse bu konuda madde oluşturmamalı
.*pandora.* # Bu kelimeye bir sayfa adının hiçbir bölümünde izin verilmez

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 - ayrıca sayfayı düzenlemeyi de yasaklayın (zaten varsa)
  • 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:

Ö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ı sayfasında 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 engelleme listesi normal ifadesinin "jill.* <newaccountonly>" olduğunu ve bir kullanıcının hesap oluşturma sayfasında kullanıcı adı olarak "jill" girdiğini hayal edin. Bu uzantının yapacağı karşılaştırma "jill.*" (düzenli ifade) ve "User:jill" (oluşturulan girdi dizesi) arasında olacağından bu geçecektir. Bunlar eşleşmiyor ve bu nedenle "jill" izin veriliyor (ve muhtemelen bunu istemediniz). Amaçlanan bloğu etkilemek için MediaWiki:Titleblacklist üzerinde ".*jill.* <newaccountonly>" veya "User:jill.* <newaccountonly>" gibi bir normal ifade kullanın.

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

# Tüm kullanıcı hesaplarını engelleyin ve yalnızca MediaWiki:Titlewhitelistregex ile eşleşenlere izin verin 
.* <newaccountonly>

4. https://www.example.com/mywiki/MediaWiki:Titlewhitelist bağlantısında ekleyin

# Her biri büyük harfle yazılmış, yalnızca bir boşlukla ayrılmış iki ada izin verin, ör. "Fred Mew" Tamam, "Fred mew" başarısız, "Fredmew" başarısız.
# Blok listesinde .* <newaccountonly> ile bağlıdır
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

"$2" kullanıcı adının oluşturulması engellendi. Şu engelleme listesi girişiyle eşleşir: <code>$1</code>.

Lütfen kullanıcı adı için gerçek bir ad kullanın. Kullanıcı adları, bir boşlukla ayrılmış iki addan oluşmalıdır. Her isim büyük harfle yazılmalıdır.

Ör.:
* "Mary Smith". Tamam.
* "MarySmith". Geçersiz.
* "Mary smith". Geçersiz.
* "marysmith". Geçersiz.

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> # Kullanıcı adlarında tekrarlanan aynı karakterden on bir veya daha fazlasına izin vermez

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}.* &lt;newaccountonly|errmsg=titleblacklist-forbidden-new-account-invalid&gt; # 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> # Kullanıcı adlarında tekrarlanan aynı karakterden on bir veya daha fazlasına izin vermez

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> # Kullanıcı adlarında tekrarlanan aynı karakterden on bir veya daha fazlasına izin vermez",
	regex = ".*(.)\1{10}.*",
	version = 3
}

Normal ifadelerdeki kaynaklar

Ayrıca bakınız