Jump to content

Extension:TitleBlacklist

From mediawiki.org
This page is a translated version of the page Extension:TitleBlacklist and the translation is 84% complete.
Outdated translations are marked like this.
This extension comes with MediaWiki 1.21 and above. Böylece tekrar indirmek zorunda değilsiniz. Ancak, verilen diğer talimatları izlemeniz gerekir.
MediaWiki manüel uzantıları
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ı 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

  • tboverride
  • tboverride-account
  • titleblacklistlog
Quarterly downloads 55 (Ranked 77th)
Translatewiki.net adresinde mevcutsa, TitleBlacklist uzantısını çevirin
Sorunlar Açık görevler · Hata bildir
A proposal to rename this extension is discussed at görev T254650.

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.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleBlacklist
  • 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)
  • Yes 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.

Her giriş ayrıca $1 içine eklenmiş ve $2 ile ayrılmış isteğe bağlı özellikler içerebilir. The list of attributes must be enclosed in <> and separated with |. The possible attributes are:

  • autoconfirmed - allow autoconfirmed users to bypass the restriction
  • casesensitive - only apply the restriction when the letter case exactly matches the entry
  • noedit - ayrıca sayfayı düzenlemeyi de yasaklayın (zaten varsa)
  • moveonly - only forbid page moves to matching titles, allowing ordinary page creations
  • newaccountonly - only forbid matching account creations, allowing other actions
  • reupload - allow uploading new versions of matching files that already exist
  • errmsg=X - when an action is prevented, display the error message with the name X instead of the standard message

AntiSpoof uzantısı kuruluysa, antispoof niteliğini de kullanabilirsiniz.

Ö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

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 için kullanıcı adı, bu uzantı tarafından yeni maddelere göre farklı değerlendirilecektir. Bu uzantı, bir kullanıcının hesap oluşturma sayfasında Kullanıcı Adı alanına girdiği dizenin başına "User:" (veya yerelleştirilmiş eşdeğeri) ekleyecektir. Dolayısıyla bu uzantı, MediaWiki:Titleblacklist veya MediaWiki:Titlewhitelist üzerinde bulunan düzenli ifadelerinizle eşleşme gerçekleştirirken, "User:" + <kullanıcı-girişi> ile eşleşir.

Ö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 blocklisted]] 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
}

Önbelleği temizleme

Engel listelerinin içeriği önbelleğe alınır. Bir URL'de veya sunucudaki bir dosyada yapılandırılan engelleme listelerindeki değişiklikler hemen uygulanmaz. Önbelleği temizlemeye zorlamak için MediaWiki:Titleblacklist sayfasını değiştirin ve kaydedin (hiçbir şeyi değiştirmeseniz bile). Engellenenler listesi olarak yapılandırılmış olup olmaması önemli değildir. includes/Hooks.php sayfasına bakın.

Normal ifadelerdeki kaynaklar

Ayrıca bakınız