Extension:SpamBlacklist/tr

SpamBlacklist uzantısı, alanları belirtilen dosyalarda veya viki sayfalarında tanımlanan normal ifade kalıplarıyla eşleşen URL'leri içeren düzenlemeleri ve belirtilen e-posta adreslerini kullanan kullanıcılar tarafından kaydedilmesini önler.

Birisi bir sayfayı kaydetmeye çalıştığında, bu uzantı metni (potansiyel olarak çok büyük) yasadışı ana bilgisayar adları listesiyle karşılaştırır. Bir eşleşme varsa, uzantı kullanıcıya bir hata mesajı görüntüler ve sayfayı kaydetmeyi reddeder.



Kurulum


Engelleme listesini ayarlama
Listelenen ek kaynaklar ne olursa olsun, aşağıdaki yerel sayfalar her zaman kullanılır:
 * MediaWiki:Spam-blacklist
 * MediaWiki:Spam-whitelist
 * MediaWiki:Email-blacklist
 * MediaWiki:Email-whitelist

Yasak URL'lerin engelleme listesi için varsayılan ek kaynak Meta Viki'de m:Spam engelleme listesi sayfasındaki Wikimedia spam engelleme listesidir. Varsayılan olarak, uzantı bu listeyi kullanır ve her 10-15 dakikada bir yeniden yükler. Birçok viki için, bu listeyi kullanmak çoğu spam girişimini engellemek için yeterli olacaktır. Ancak, Wikimedia engel listesi, yüz binlerce dış bağlantıya sahip çeşitli büyük vikiler grubu tarafından kullanıldığından, engellediği bağlantılarda nispeten muhafazakar.

Wikimedia spam engelleme listesi yalnızca hizmetliler tarafından düzenlenebilir; ancak m:Talk:Spam blacklist sayfasında engelleme listesinde değişiklik önerebilirsiniz.

Kendi vikinize başka kötü URL'ler ekleyebilirsiniz. Bunları içindeki   küresel değişkeninde listeleyin. Aşağıdaki örneklere bakın.

iki seviyeli bir dizidir. Üst düzey anahtar  veya. Bir URL, bir dosya adı veya bir veritabanı konumu içeren her değere sahip bir dizi alırlar.

"LocalSettings.php" içinde  kullanırsanız, " Spam blacklist " varsayılan değeri artık kullanılmayacaktır. Bu engelleme listesine erişilmesini istiyorsanız, onu elle eklemeniz gerekecektir, aşağıdaki örneklere bakın.

Bir veritabanı konumu belirtmek, vikinizdeki bir sayfadan engelleme listesi çizmenize olanak tanır.

Veritabanı konum belirtecinin formatı ">DB: [db name] [title]". [db name], içindeki   değeriyle tam olarak eşleşmelidir. Vikinizin varsayılan ad alanında gerekli sayfa adını [title] oluşturmalısınız. Bunu yaparsanız, sayfayı genel düzenlemeden korumanız şiddetle önerilir. Birinin her şeyle eşleşen bir normal ifade ekleyebilmesi gibi bariz bir tehlikenin yanı sıra, rastgele normal ifadeler girme yeteneğine sahip bir saldırganın PCRE kitaplığı içinde segmentasyon hataları oluşturabileceğini lütfen unutmayın.

Örnekler
Örneğin, standart Meta-Wiki listesine ek olarak İngilizce Vikipedi'nin spam engelleme listesini kullanmak istiyorsanız,  çağrısından SONRA  dosyasında aşağıdakileri arayabilirsiniz:

İşte tamamen yerel bir engelleme listesi kümesi örneği: hizmetli, Meta-Viki kara listesinin bir kopyasını tutan ve vikide "Spam engelleme listem" sayfası ek bir engelleme listesine sahip olan "wikimedia_blacklist" adlı yerel bir dosya oluşturmak için kullanıyor:

Günlük kayıtı
Varsayılan olarak, uzantı, spam kara liste günlüğüne kaydetmez. Günlük kaydını etkinleştirmek için  ayarlayın. Günlüklere erişimi kontrol etmek için  kullanıcı hakkını kullanabilirsiniz. Oturum açmış her kullanıcı, günlükleri varsayılan olarak görüntüleyebilir.

Sorunlar


Geri İzleme Sınırı
Engellenenler listesiyle ilgili sorunlarla karşılaşırsanız, geri izleme sınırını artırmak isteyebilirsiniz. Ancak diğer yandan, geri izleme sınırı bir performans sınırı olduğundan, bu DOS saldırılarına karşı güvenliğinizi azaltabilir:



Sertleştirilmiş Vikiler
SpamBlacklist, viki sağlamlaştırılmışsa düzenlemeye izin vermez. Sertleştirme,  ile yolda olmaması için   sınırlamasını ve   olarak   ayarlamayı içerir.

Sertleştirilmiş durumda, Guzzle bir ağ isteğinde bulunmaya çalıştığında SpamBlacklist bir istisnaya neden olur. Guzzle istisna mesajı, GuzzleHttp için cURL, allow_url_fopen ini ayarı veya özel bir HTTP işleyicisi gerekir şeklindedir.



Güvenli listesi
İlgili bir güvenli liste MediaWiki:Spam-whitelist sayfası düzenlenerek saklanabilir. Kullandığınız başka bir vikinin engelleme listesindeki belirli girişleri geçersiz kılmak istiyorsanız bu yararlıdır. Wikimedia vikileri, örneğin, bazen spam engelleme listesini spam ile mücadele dışındaki amaçlarla kullanılır.

Wikimedia spam engelleme listelerinin istenmeyen postaları üçüncü taraf vikilerinden uzak tutmada ne kadar etkili olduğu şüphelidir. Bazı spamlar yalnızca Wikimedia vikilerini veya yalnızca üçüncü taraf vikilerini hedef alabilir, bu da Wikimedia'nın kara listesinin söz konusu üçüncü taraf vikilerine çok az yardım etmesine neden olur. Ayrıca, bazı üçüncü taraf wiki'ler, kullanıcıların Vikipedi'de güvenilir olarak kabul edilmeyen kaynaklar alıntı yapmasına izin verilmesini veya Vikipedi'nin engellemeyi garanti edecek kadar ideolojik olarak saldırgan bulduğunu tercih edebilir. Bazen bir vikinin gereksiz spam olarak değerlendirdiği bir şey, başka bir vikinin yararlı olduğunu düşünebilir.

Kullanıcılar, bir bağlantının spam olarak reddedilmesinin, düzenledikleri münferit vikinin o URL'yi yasaklamayı özellikle seçtiği anlamına gelmediğini her zaman fark etmeyebilir. Bu nedenle, viki sistem hizmetlileri, kullanıcıları tarafından güvenli listeye eklenmesi gereken sayfalar için MediaWiki talk:Spam-whitelist sayfasında önerilerde bulunmaya davet etmek için vikinizde  ile MediaWiki:Spamprotectiontext ve/veya MediaWiki:Spamprotectionmatch olarak düzenlemek isteyebilirler. Örneğin, MediaWiki:Spamprotectiontext için koyabilirsiniz:


 * Kaydetmek istediğiniz metin spam filtresi tarafından engellendi. Bu muhtemelen kara listeye alınmış bir harici siteye bağlantıdan kaynaklanmaktadır.  kendi engelleme listesini tutar; ancak, çoğu engelleme Meta-Viki'nin engelleme listesi aracılığıyla yapılır, bu nedenle bu engelleme mutlaka  sitesinin bu belirli metin (veya URL) engelleme kararı verdiğinin bir göstergesi olarak yorumlanmamalıdır. Bu metnin (veya URL'nin) yerel spam güvenli listesine eklenmesini istiyorsanız, böylece  kullanıcılarının onu sayfalara eklemesi engellenmez, lütfen MediaWiki talk:Spam-whitelist sayfasından bir istekte bulunun. Bir hizmetli, güvenli olarak listelenip listelenmeyeceğine dair bir kararla o sayfada yanıt verir.

Notlar

 * Bu uzantı yalnızca viki editörleri tarafından eklenen yeni harici bağlantıları inceler. Kullanıcı aracılarını kontrol etmek için Bad Behaviour veya Akismet ekleyin. MediaWiki'deki spam ile mücadele için çeşitli araçlar kötüye kullanımı tespit etmek için farklı yöntemler kullandığından, güvenlik önlemleri birlikte en iyi şekilde kullanılır.
 * Users with the  can override the block list and add blocked links to pages. By default this right is only given to bots.

Engelleme listesi sözdizimi
Kendinize ait bir engel listesi oluşturmak veya mevcut bir listeyi değiştirmek istiyorsanız, sözdizimi şöyledir:

'#' karakterinden sonra satırdaki her şey yok sayılır (yorumlar için). Diğer tüm dizeler, yalnızca URL'lerle eşleşen düzenli ifade parçalarıdır.


 * Notlar:


 * "http://" eklemeyin; Normal ifade URL'lerin içindeki "http://" (veya "https://") sonrasında ile eşleşeceğinden bu başarısız olur.
 * Düzenli ifade herhangi bir alt alan adıyla eşleşeceğinden, "www" gerekmez. "www\." vererek, açık bir şekilde belirli alt alanlarla eşleşebilir.
 * ve  çengelleri, URL'nin başlangıcı ve bitişiyle değil, alan adının başlangıcı ve bitişiyle eşleşir. Normal çengel   herhangi bir işe yaramaz.
 * Eğik çizgiler ters eğik çizgilerden kaçmak zorunda değildir, bu betik tarafından otomatik olarak yapılacaktır.
 * The spam blacklist functions prior to abuse filters, so blacklisted domains will not show in the entries in abuse filter log (special:abuselog), and will only show in (special:log/spamblacklist).


 * Örnek:

Aşağıdaki satır, hemen önünde veya ardından bir harf veya rakam gelmesi dışında, "example.com" dizesini içeren tüm URL'leri engeller.

\bexample\.com\b

Bunlardan engellendi:


 * http://www.example.com
 * http://www.this-example.com
 * http://www.google.de/search?q=example.com

Bunlar engellenmemiştir:


 * http://www.goodexample.com
 * http://www.google.de/search?q=example.commodity

Performans
Uzantı  gibi görünen tek bir düzenli ifadesi oluşturur (hatlardaki tüm eğik çizgiler otomatik olarak kaçar). Tüm kodları her sayfa görünümünde yüklemekten kaçınmak için bunu küçük bir "loader" dosyasına kaydeder. Bayt kodu önbellek kullanmasanız bile sayfa görüntüleme performansı etkilenmeyecektir, ancak herhangi bir MediaWiki yüklemesi için önbellek kullanılması önemle tavsiye edilir.

Düzenli ifade eşleşmesinin kendisi genellikle sayfa tasarruflarına önemsiz bir ek yük ekler (deneyimimizde 100 ms civarında). Ancak, spam dosyasını diskten veya veritabanından yüklemek ve normal ifadeyi oluşturmak, donanımınıza bağlı olarak önemli miktarda zaman alabilir. Bu uzantıyı etkinleştirmenin yavaşladığını fark ederseniz, desteklenen bir bayt kodu önbelleği yüklemeyi deneyin. Böyle bir sistem varsa, bu uzantı yapılandırılmış normal ifadeyi önbelleğe alır.

Bir sunucuyu ve önbelleği birkaç viki ile paylaşıyorsanız, SpamBlacklist_body.php içindeki getSharedBlacklists ve clearCache öğelerini $wgdbname yerine $shareddb ile (veya paylaşılan bir yükleme DB'niz yoksa belirli bir DB'yi) kullanacak şekilde değiştirerek önbellek performansınızı artırabilirsiniz. Tüm referansları aldığınızdan emin olun! Her vikideki ayrı MediaWiki:Spam-blacklist ve MediaWiki:Spam-whitelist sayfalarındaki normal ifadeler uygulanmaya devam edecektir. Be sure to get all references! The regexes from the separate MediaWiki:Spam-blacklist and MediaWiki:Spam-whitelist pages on each wiki will still be applied.



Harici engel listesi sunucuları (RBL'ler)
Standart biçiminde, bu uzantı, engel listesinin elle oluşturulmasını gerektirir. Normal ifade joker karakterlerine izin verilirken ve bir vikiden kaynaklanan bir engelleme listesi başkaları tarafından yeniden kullanılabilirken, spam ile yanıt olarak yeni modeller eklemek veya yanlış pozitifler oluşturan kalıpları kaldırmak için hâlâ biraz çaba gerekiyor.

Bu çabanın çoğu, spam normal ifadesinin spam e-postada reklamı yapılan bilinen alan adlarının listeleriyle desteklenmesiyle azaltılabilir. Normal ifade yaygın kalıpları ("kumarhane-" veya "-viagra" gibi) yakalarken, harici engel listesi sunucusu spam yoluyla tanıtılan belirli sitelerin adlarıyla otomatik olarak güncellenir.

includes/SpamBlacklist.php dosyasındaki filter işlevinde, dosya başlangıcı ve bitişi arasında yaklaşık olarak yarı yolda şu satırlar bulunur:

Bu bölümün hemen üstüne (çıkarılan bağlantılarda gerçek düzenli ifade testi yapar), harici RBL sunucularını kontrol etmek için ek kod eklenebilir:

Bu, bir düzenleme zaten engellenmiş spam etki alanlarından URL'ler içeriyorsa, kullanıcıya, harici bir spam engelleme listesinde görünmesi nedeniyle hangi bağlantının kaydedilemeyeceğini belirten bir hata döndürülmesini sağlar. Hiçbir şey bulunamazsa, kalan normal ifade testlerinin normal şekilde çalışmasına izin verilir, böylece URL'de manuel olarak belirtilen herhangi bir 'şüpheli kalıp' tanımlanabilir ve engellenebilir.

RBL sunucularının tam URL yolunu değil, yalnızca temel alan adlarını listelediğini unutmayın, bu nedenle http://example.com/casino-viagra-lottery.html yalnızca "example.com" kendisi harici sunucu tarafından adıyla engellenmiş durumunda RBL'yi tetikleyecektir. Ancak normal ifade, "example"'dan "lottery" ile ve aradaki her şeye kadar, URL ve yoldaki herhangi bir metni engelleyebilir. Her iki yaklaşım da bazı yanlış pozitifler riski taşır. Joker karakter ifadelerinin kullanılması nedeniyle normal ifade ve bu sunucular genellikle başka amaçlar için oluşturulduğu için harici RBL, örneğin kötüye kullanım amaçlı spam e-postanın kontrolü gibi ve meşgul olmayan alanları içerebilir forumda, vikide, blogda veya ziyaretçi defterinde yorum spamı kendi başına.



Diğer spam ile mücadele araçları
Mediawiki.org'da spam ve diğer vandalizmlerle mücadele konusunda çeşitli yararlı kılavuzlar vardır:


 * - includes link to the built-in anti-spam mechanism.

Diğer anti-spam, anti-vandalizm uzantıları şunları içerir:


 * Sistem mesajları
 * Sistem mesajları