Drupal ve WordPress'de Spamla Mücadele

Hem aranelsurion.org ‘daki blogumun hem de meegoturkiye.org ‘un spam mesajlarla istila edilmesi üzerine bir çıkış yolu aradım ve kendimce en makul yollardan birini uyguladım. Spam botları artık eskisi gibi basitçe CAPTCHA numaralarıya atlatılamadığı gibi eski brute-force yöntemlerini de uygulamıyorlar, özellikle bazı spam ağlarıyla uğraşmak çaba gerektirebiliyor. Ben de hem Drupal hem WordPress’de şuan uyguladığım ve yeterli performansı sergileyen 2 yöntemi anlatmak istedim, elinizde daha iyi şeyler varsa duymak isterim tabii :) Diğer bir kaç yöntemden de bir kaç kelimeyle bahsettim ama kendim denemediğim için onları bu yazıda bulamayacaksınız.

WordPress

WordPress üzerinde spamla boğuşmak için yapabileceğiniz üç şey var. Birincisi elbette CAPTCHA. Bu yöntem sitenizi “bir süre” idare edecektir, ancak CAPTCHA metodları artık aktif bir koruma sağlayamadıklarından, kısa sürede spam botları CAPTCHA sisteminize alışacak ve yorum gönderebileceklerdir. Burada önemli olan sizin CAPTCHA’nızı tamamen çözmek de değil üstelik, belli bir başarı yüzdesine ulaştıklarında, bu %10 gibi küçük bir pay bile olsa 10 denemede bir yorumu sitenize geçirebilecekler demek oluyor. Bu yöntem geçici bir süre önlem olabilir ve basit botları savuşturmaya yetebilir, ancak saldırı yoğunlaştıkça başa çıkmanız mümkün olmayacak. Yine burada CAPTCHA kodlarının kalitesi de önemli, mesela ne kadar karmaşık ve farklı fontlar kullanıldığı, resimde ne kadar bozulma payı olduğu, başarıda rol oynayacaktır. Farklı bir yaklaşım olarak reCAPTCHA deneme şansınız da var.

İkinci yöntem, tarayıcı kontrolü yapmak. Bu durumda da, sitenizin yorum kısmını tamamen javascript kodları arkasına saklayabilirsiniz, bunu uzun bir süre boyunca botların geçmesi zor olacaktır. Ancak elbet bunun da üstesinden gelecekler, üstelik bu yöntemi kullanırsanız javascript desteklemeyen tarayıcılar (kaldıysa bu devirde şayet) sitenize yorum giremeyeceklerdir. Bunu bir tür “hack” gibi düşünebilirsiniz aslında. Yine benzer bir yöntem, CSS yoluyla gizli bir input kutusu koymak olabilir. Gerçek kullanıcılar bu kutuyu görmeyeceklerinden girdi yapmazlar ancak botlar bu engele takılacaklardır. Bunun yine sizi birkaç aydan fazla götürmesini beklemeyin elbette.

En etkin ve aşılması güç yöntem aslında hep gözümüzün önünde olan: Akismet. WordPress’in bu küçük eklentisini kullanmak tamamen ücretsiz ve alacağınız bir API anahtarıyla hemen entegre edebiliyorsunuz. Akismet 2 hafta içinde 109 spam engelledi, 1 kez spam olmayan yorumu spam zannetti. Tabii sizin cevaplarınızdan da öğreniyor Akismet, bunun dışında hiç bir hatası olmaması çok başarılı. Dezavantajı, bu yöntemi kullandığınızda sitenize gelen tüm yorumlar başka bir sunucuda kontrol edilecek demek oluyor, böyle şeylerden hazzetmiyor olabilirsiniz. Yine Akismet’in bazı spam işaretlediği yorumları işaretledikten sonra saatlerce panelde göstermeme gibi huyları olabiliyor bazen. Maksimum rahatlık için basit bir CAPTCHA ve Akismet’i beraber kullanabilirsiniz, bu yöntemi kullanmaya başladığımdan beri bir kez bile spam geçirmedim.

Spam konusunda başınız çok ağrıyorsa ve henüz yapmadıysanız, radikal bir çözüm olarak yorumları  moderasyona alabilirsiniz. Kişisel bloglarda moderasyon mantıklı bir iştir ancak kurumsal bloglarda bunu tercih etmemeniz gerekir.

Drupal

Drupal’de spam ile mücadele etmenin en kolay yolu CAPTCHA plugini. Bu eklentiyi ve Image Captcha’yı kurarsanız oldukça etkili korumalar yapabilirsiniz formlarınıza. Bu eklentinin avantajı çok çok çook kişiselleştirilebiliyor oluşu. Böylece sitenizin aldığı saldırı yoğunluğuna göre bir kapsam belirlemek mümkün, isterseniz kendiniz bile çözemeyeceğiniz CAPTCHA’lar yaratın, isterseniz bir hesap makinesinin bile okuyabileceği (abartıyorum tabii) basitlikte olsun.

Image Captcha’da henüz hiç aşılamayan ayarlarım şu şekilde, benzerini kullanarak kafanızı rahat ettirmeniz mümkün: 36pt font, wide character spacing, 7 haneli, 7 distortion, 3 noise, high text color, line noise açık. Bu ayarlarla ürettiğiniz on captcha kodunun dokuzu rahatça okunabilirken, botlar bu kodları neredeyse hiç bir şekilde geçemiyorlar.

CAPTCHA modülü için: http://drupal.org/project/captcha

WordPress’deki yöntemin bir benzeri Drupal için yok sanırım. Olsa da bu biraz son tercih olacak bir şey aslında, önünü alamadığınızda Akismet, Defensio gibi servislere başvurmak en mantıklısı. Drupal’in CAPTCHA modülü harikalar yaratıyor, ancak çok zor kodlar yaratmamaya çalışın ki hem kullanıcılarınız kafayı kırmasınlar, hem de çok fazla CPU yükü oluşturmasın kodlarınız.

Bir yorum yapılmış

  1. teşekkürler güzel bir yazı

Yorum Yazın