Extension:AbuseFilter/tr

AbuseFilter uzantısı, ayrıcalıklı kullanıcıların, düzenlemeler gibi kullanıcılar tarafından yapılan işlemler belirli ölçütlerle eşleştiğinde gerçekleştirilecek belirli eylemleri ayarlamasına olanak tanır.

Örneğin, isimsiz kullanıcıların harici bağlantılar eklemesini engellemek veya 2000'den fazla karakteri kaldıran bir kullanıcıyı engellemek için bir filtre oluşturulabilir.

Kullanıcı hakları
Uzantıyı yükledikten sonra, kullanıcı haklarını "LocalSettings.php" içinde ayarlamanız gerekir.

Örneğin, aşağıdaki örnek yapılandırma hizmetlilerin AbuseFilter ile istedikleri her şeyi yapmalarını ve herkesin günlüğü görüntülemesini ve genel filtre ayarlarını görmelerini sağlar:

Acil durum kısma
AbuseFilter, yakın zamanda düzenlenmiş olan filtreleri otomatik olarak kısan (devre dışı bırakan) ve en son yapılan işlemlerin belirli bir kısmı ile eşleşen bir özellik ile birlikte gelir.

Bu, viki veya benzeri bir işlem gerçekleştiren her kullanıcıyı engellemek için filtrelerdeki zararlı düzenlemeleri önlemek için yapılır.

Filtreyi devre dışı bırakma koşulu şu değişkenlere bağlıdır:
 * - Gözlenen periyottaki toplam eylem miktarı üzerindeki eşleşmelerin yüzdesi.
 * - Gözlenen dönemde filtrenin eşleşme sayısı.
 * - Filtreyi dikkate almak için yaş. Filtrenin son düzenlemesi bu saniyeden daha eskiyse, filtrelenmemişse filtre daraltılmaz.
 * - Eşiğe karşı sayılacak en son yapılan işlem sayısı. Her eylemin bir sayacı arttırdığını ve bu sayaç bu yapılandırılmış değere ulaştığında, bu sayacın ve tüm filtrelerle eşleşen son eylemlerin sayısının 0 olarak sıfırlandığını unutmayın.

Kısaltılmış filtreler,, durumundaki filtreler listesinde (Special:AbuseFilter) tanımlanabilir. Kısma sessizce gerçekleşir ve bir filtrenin ne zaman kısıldığını görmenin bir yolu yoktur.

Bir filtre kısıldığında, herhangi bir tehlikeli eylem gerçekleştirmez (genellikle kullanıcıyı engellemek veya onu $wgAbuseFilterActionRestrictions tarafından kontrol edilen gruplardan çıkarmak gibi özel haklarla sınırlandırılan eylemler) ve yalnızca "güvenli" eylemlere izin verilir (devam eden eylemi uyarın veya önleyin). Kısılmış filtreler otomatik olarak etkinleştirilmez. Kısmayı devre dışı bırakmak için filtreyi düzenlemeniz gerekir. Gerçekten filtreden bir şey değiştirmeniz gerektiğini unutmayın: filtrenin notlarından bir şey değiştirmek yeterlidir.

Filtreyi düzenlemenin yaşını güncellediğini ve son düzenlemeden bu yana kısa bir süre içinde kısaltılacak koşullara tekrar ulaşması durumunda devre dışı bırakılmasına neden olabileceğini ve vikinizin meşru olanlardan daha fazla kötüye kullanım düzenlemesine sahip olması durumunda kullanılamaz bir filtreye yol açacağını unutmayın. İşlem sayısı  ulaşırsa filtreler rastgele daraltılabilir, bu da tüm filtre eşleşmelerinin sayımının 0'a sıfırlanmasına neden olur ve ardından birisi tekrar tekrar bir filtre vurur.

Filtreler oluşturma ve yönetme
Uzantı kurulduktan sonra, filtreler oluşturulabilir/test edilebilir/değiştirilebilir/ silinebilir ve günlüklere Kötüye Kullanım filtresi yönetim sayfasından Special:AbuseFilter erişilebilir.


 * Kural biçimi - Filtre yazmanın temelleri
 * Eylemler
 * Küresel Kuralları
 * Koşul sınırı kullanımını optimize etme kılavuzu
 * Vikipedi'den filtreleri içe aktarmak için: Uzantıyı yüklediğinizde, tr:Special:AbuseFilter sayfasına gidin, bir filtre seçin (tr:Special:AbuseFilter/3 deyin) ve ardından "Bu filtreyi başka bir vikiye aktar" yazın, metni kopyalayın, vikinizdeki "Special:AbuseFilter/import" sayfasına gidin, metni yapıştırın.
 * m:Small wiki toolkits/Starter kit/AbuseFilter - Metawiki'deki küçük viki toplulukları için bir rehber

API
AbuseFilter, diğer MediaWiki günlüklerinden ("abuselog") ayrı olduğu için biri kötüye kullanım filtreleri ("kötüye kullanım filtreleri") ve biri kötüye kullanım günlüğü için olmak üzere iki API listesi modülü ekler. API kullanarak kötüye kullanım filtreleri oluşturmak veya değiştirmek mümkün değildir.

list = abusefilters
Filtreler hakkındaki bilgileri listeleyin


 * Parametreler:
 * - Numaralandırmayı başlatmak için filtre kimliği
 * - Konumundaki numaralandırmayı durdurmak için filtre kimliği
 * - Numaralandırma yönü (daha eski, daha yeni)
 * - Yalnızca bu ölçütleri karşılayan filtreleri göster (enabled|!enabled|deleted|!deleted|private|!private)
 * - Listelenecek maksimum filtre sayısı
 * - Hangi özelliklere sahip olunur (id|description|pattern|actions|hits|comments|lasteditor|lastedittime|status|private)

Filtreler özel olduğunda, uygun kullanıcı haklarına sahip olmadığınız sürece  ile belirtilen özelliklerin bazıları eksik olacaktır.


 * Örnekler:

list = abuselog
İşlemlerin kötüye kullanım filtresini tetiklediği örnekleri listeleyin.


 * Parametreler:
 * - Numaralandırmaya başlamak için zaman damgası
 * - Konumundaki numaralandırmayı durdurmak için zaman damgası
 * - Numaralandırma yönü (daha eski, daha yeni)
 * - Yalnızca eylemin belirli bir kullanıcı veya IP adresi tarafından denendiği girişleri gösterir.
 * - Yalnızca eylemin belirli bir sayfayı içerdiği girdileri göster.
 * - Yalnızca belirli bir filtre kimliğini tetikleyen girdileri göster
 * - Listelenecek maksimum giriş sayısı
 * - Hangi özelliklere sahip olunur: (ids|filter|user|ip|title|action|details|result|timestamp|hidden|revid|wiki)


 * Örnek:

Olası hatalar

 * Bazı kullanıcılar yeni filtreler oluşturmanın veya eski filtreleri değiştirmenin başarısız olduğunu ve kullanıcının yalnızca orijinal sayfaya yönlendirildiğini deneyimleyebilir. Viki SSL sertifikaları kullanıyorsa, bu hata büyük olasılıkla "https://" yerine "http://" kullanıyor olabilen değerinden kaynaklanıyor olabilir. Bu hatanın bir göstergesi, Special:AbuseFilter sayfaları için https uyarısı veren tarayıcı olacaktır. (Topic:T23dyyih0ofjada5)

Diğer uzantılarla entegrasyon
AbuseFilter'ı diğer uzantılarla çeşitli şekillerde entegre edebilirsiniz.

Filtreleme için değişken ekleme
Kötüye kullanım filtrelerinde kullanılacak yeni değişkenler eklemek mümkündür. örneklerin bir listesi. Bunu yapmak için şunları yapmalısınız:


 * kanca için bir işleyici ekleyin. Bir değişken eklemek için  kullanmanız gerekir; burada   değişkenin adı ve   bir i18n anahtarının parçasıdır. Tam anahtar   olacak.
 * Önceki noktaya seçtiğiniz i18n mesajlarını ekleyin.
 * Değişkenin hesaplanacağı bir kanca işleyici seçin. Kullanım durumunuza bağlı olarak şunları yapabilirsiniz:
 * kanca uygulayın; bu özellikle sayfa ile ilgili değişkenler için düşünülmektedir;
 * kanca uygulayın; bu özellikle kullanıcı ile ilgili değişkenler için düşünülmektedir;
 * kanca uygulayın; bu, belirli bir sayfaya veya kullanıcıya bağlı olmayan değişkenler içindir;
 * kanca uygulayın; bu diğer kancalardan biraz daha esnektir, ancak bir dezavantajı vardır: geçmiş RecentChanges girişlerini incelerken değişkeniniz kullanılamaz. Bu özelliği uygulamak istiyorsanız (ve bunu yapmanız önerilir), yukarıda listelenen kancalardan birini ve üçüncü parametresini kullanmanız gerekir.
 * Kanca işleyicinin içinde bir değişken eklemenin iki yolu vardır:
 * "direct" yol çağırıyor. Bu, yalnızca değerin hesaplanması kolay ve hızlı olduğunda idealdir: etkin filtre kullanılmasa bile değer hesaplanır.
 * "lazy" yol çağırıyor. Burada, 'method_name' değişkeni hesaplamak için kullanılacak (benzersiz) bir tanımlayıcıdır (eklentinin adı ile ön ek yapmanız önerilir). Yöntemi kaydetmek için,  kanca için bir işleyici eklemeniz gerekir; burada, geçirilen $method 'method_name' ile eşleşip eşleşmediğini kontrol etmelisiniz ve eğer öyleyse değişkeni hesaplayın. Son olarak, $params değişkeni hesaplamanız için gereken bir parametre dizisidir; bunlar computeVariable kanca işleyicisine iletilir. Bunun bir örneği için CentralAuth'un   sayfasını kontrol edebilirsiniz.

Özel eylemler ekleme
Her bir filtrenin başka eylemler gerçekleştirebilmesi için özel eylem işleyicileri ekleyebilirsiniz. Bunu yapmak için, eylem için bir ad seçersiniz (bundan sonra 'my-action') ve sonra:


 * Örn. MyAction adında, \MediaWiki\Extension\AbuseFilter\Consequence ile genişletmesi gereken ve ayrıca HookAborterConsequence veya ConsequencesDisablerConsequence uygulayabilen bir sınıf oluşturun
 * AbuseFilterCustomActions kancasına bir abone ekleyin; abone, yukarıda oluşturulan sınıfın bir örneğini döndüren kanca belgelerinde belirtildiği gibi bir geri arama sağlamalıdır, örneğin:

Ardından aşağıdaki uluslararasılaştırma mesajlarını eklemelisiniz; "my_action" yerine örn. Mesajların ne için olduğunu görmek için 'block':



Kural grupları ekleme
Ayrıca, mevcut kötüye kullanım filtrelerini gruplandırmak için kullanılabilecek fazladan kural grupları da ekleyebilirsiniz. Şu anda, her filtrenin yalnızca tek bir grupta olabileceğini unutmayın (T116642). Şu anda, bu özelliğin bilinen tek tüketicisi Flow. Bunu yapmak için şunları yapmalısınız:


 * Grubun adını  ekleyin
 * Grubunuzla filtreleri çalıştırmak için bir kod ekleyin. AbuseFilter'ın bunu kendi başına yapmayacağını unutmayın. Bunu yapmak için, grubunuzun adını ileterek bir  nesnesi oluşturmalısınız.

Ayrıca bakınız

 * Etkinleştirildiği birkaç WMF vikiler (ve hangi yapılandırmayla)