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. You should create the required page name [title] in the default namespace of your wiki. If you do this, it is strongly recommended that you protect the page from general editing. Besides the obvious danger that someone may add a regex that matches everything, please note that an attacker with the ability to input arbitrary regular expressions may be able to generate segfaults in the PCRE library.

Ö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 "$file" adlı yerel bir dosya oluşturmak için $updatescript 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: However on the other hand, this can reduce your security against DOS attacks, as the backtrack limit is a performance limit:



Sertleştirilmiş Vikiler
SpamBlacklist, viki sağlamlaştırılmışsa düzenlemeye izin vermez. Sertleştirme, $curl ile yolda olmaması için $1 sınırlamasını ve $3 olarak $2 ayarlamayı içerir. Hardening includes limiting  so that   is not on-path, and setting   in.

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. The Guzzle exception message is, GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler.



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. Some spam might be targeted only at Wikimedia wikis, or only at third-party wikis, which would make Wikimedia's blacklist of little help to said third-party wikis in those cases. Also, some third-party wikis might prefer that users be allowed to cite sources that Wikipedia does not allow. Sometimes what one wiki considers useless spam, another wiki might consider useful.

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ı $sysop tarafından güvenli listeye eklenmesi gereken sayfalar için $4 sayfasında önerilerde bulunmaya davet etmek için vikinizde $1 ile $2 ve/veya $3 olarak düzenlemek isteyebilirler. Örneğin, $5 için koyabilirsiniz: Therefore, wiki system administrators may want to edit the at MediaWiki:Spamprotectiontext and/or MediaWiki:Spamprotectionmatch on your wiki to invite users to make suggestions at MediaWiki talk:Spam-whitelist for pages that should be added by a  to the safe list. For example, you could put, for MediaWiki:Spamprotectiontext:


 * Kaydetmek istediğiniz metin spam filtresi tarafından engellendi. Bu muhtemelen kara listeye alınmış bir harici siteye bağlantıdan kaynaklanmaktadır. $sitename kendi engelleme listesini tutar; ancak, çoğu engelleme Meta-Viki'nin engelleme listesi aracılığıyla yapılır, bu nedenle bu engelleme mutlaka $sitename 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 $sitename kullanıcılarının onu sayfalara eklemesi engellenmez, lütfen $talk sayfasından bir istekte bulunun. Bir hizmetli, güvenli olarak listelenip listelenmeyeceğine dair bir kararla o sayfada yanıt verir. This is probably caused by a link to a blacklisted external site.  maintains its own block list ; however, most blocking is done by means of Meta-Wiki's block list , so this block should not necessarily be construed as an indication that  made a decision to block this particular text (or URL). If you would like this text (or URL) to be added to the local spam safe list , so that  users will not be blocked from adding it to pages, please make a request at MediaWiki talk:Spam-whitelist . A sysop will then respond on that page with a decision as to whether it should be listed as safe.

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. The regex will catch common patterns (like "casino-" or "-viagra") while the external block list server will automatically update with names of specific sites being promoted through spam.

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. If nothing is found, the remaining regex tests are allowed to run normally, so that any manually-specified 'suspicious pattern' in the URL may be identified and blocked.

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. The regex, however, would be able to block on any of the text in the URL and path, from "example" to "lottery" and everything in between. Both approaches carry some risk of false-positives - the regex because of the use of wildcard expressions, and the external RBL as these servers are often created for other purposes - such as control of abusive spam email - and may include domains which are not engaged in forum, wiki, blog or guestbook comment spam per se.



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ı