Drupal'da Form Spam'lerini Nasıl Engelleriz?

Honeypot, CAPTCHA ve Turnstile Karşılaştırması

WhatsApp

Başak Burcu SÖGÜT
Başak Burcu SÖGÜT Front End Developer
5 dakika okuma süresi
drupal-da-form-spam-lerini-nasil-engelleriz

Honeypot, CAPTCHA ve Turnstile Karşılaştırması

İletişim, başvuru, üyelik veya teklif formları botların en sık hedef aldığı alanlardan biridir. Basit spam mesajlarından otomatik form gönderimlerine kadar farklı bot davranışlarıyla karşılaşmak mümkündür.

Drupal tarafında bu problemi çözmek için en sık kullanılan yöntemler arasında Honeypot, CAPTCHA ve Cloudflare Turnstile bulunur. Ancak bu yöntemlerin çalışma biçimleri ve kullanıcı deneyimine etkileri birbirinden farklıdır.

Honeypot Nasıl Çalışır?

Honeypot, kullanıcıya görünmeyen bir form alanı ekler. Normal bir kullanıcı bu alanı görmediği için doldurmaz; ancak sayfadaki tüm alanları otomatik olarak dolduran basit botlar bu alana da veri yazabilir. Böyle bir durumda form gönderimi engellenir.

Drupal Honeypot modülü ayrıca time restriction özelliği sunar. Varsayılan olarak formun belirli bir süreden daha hızlı gönderilmesi durumunda işlem spam olarak değerlendirilebilir. Drupal dokümantasyonunda varsayılan sürenin 5 saniye olduğu belirtiliyor.

Honeypot’un en büyük avantajı kullanıcıya herhangi bir ek işlem yaptırmamasıdır.

Ancak tek başına kusursuz değildir. Daha gelişmiş botlar gizli alanları algılayabilir veya formu gerçek bir tarayıcı gibi doldurabilir.

Ayrıca time limit değerini çok yüksek belirlemek gerçek kullanıcıların da engellenmesine neden olabilir. Bu nedenle süreyi artırmak her zaman daha güçlü spam koruması anlamına gelmez.

CAPTCHA

CAPTCHA, kullanıcıdan insan olduğunu kanıtlamak için ek bir doğrulama ister.

Drupal CAPTCHA modülü farklı CAPTCHA çözümlerinin formlara bağlanmasını sağlayan temel altyapıyı sunar. Google reCAPTCHA gibi servisler de bu yapı üzerinden kullanılabilir.

CAPTCHA güçlü bir koruma sağlayabilir ancak kullanıcı deneyimi açısından dezavantajları vardır.

Kullanıcıdan görsel seçmesini, checkbox işaretlemesini veya ek bir challenge tamamlamasını istemek özellikle mobil cihazlarda form tamamlama oranını olumsuz etkileyebilir.

Bu nedenle her forma ağır bir CAPTCHA eklemek yerine, spam riskine göre koruma seviyesini belirlemek daha doğru olur.

Cloudflare Turnstile

Cloudflare Turnstile, klasik CAPTCHA yaklaşımına daha az müdahaleci bir alternatif sunuyor.

Turnstile ziyaretçinin tarayıcı ortamındaki çeşitli sinyalleri değerlendiriyor ve çoğu durumda kullanıcıdan herhangi bir işlem istemeden doğrulama gerçekleştirebiliyor. Cloudflare’ın önerdiği Managed modda sistem yalnızca gerekli gördüğünde kullanıcıdan checkbox etkileşimi istiyor.

Drupal için geliştirilen Turnstile modülü CAPTCHA altyapısıyla birlikte çalışıyor ve Drupal 10, 11 ve 12 ile uyumlu güncel bir stabil sürüme sahip.

Turnstile kullanırken önemli bir nokta bulunuyor: doğrulamanın yalnızca tarayıcı tarafında yapılması yeterli değil. Oluşturulan token’ın backend tarafında Cloudflare Siteverify API üzerinden doğrulanması gerekiyor. Cloudflare bu adım uygulanmadığında entegrasyonun güvenli olmayacağını özellikle belirtiyor.

Hangisini Kullanmalıyız?

Tek bir doğru çözüm yok. Formun kullanım şekline ve aldığı spam miktarına göre seçim yapılmalı.

YöntemKullanıcı DeneyimiKoruma 
HoneypotÇok iyiBasit botlara karşı iyi 
CAPTCHADaha fazla etkileşim gerektirirGüçlü 
TurnstileGenellikle görünmez veya düşük etkileşimliGüçlü 

Düşük spam alan bir iletişim formunda yalnızca Honeypot yeterli olabilir.

Spam miktarı artmaya başladığında Honeypot + Turnstile birlikte değerlendirilebilir.

Çok yoğun bot trafiğinde ise form korumasının yanında WAF, rate limiting ve IP/risk bazlı kontroller de devreye alınabilir.

False Positive Konusunu Unutmamak Gerekir

Spam korumasında amaç mümkün olduğunca fazla isteği engellemek değil, botları engellerken gerçek kullanıcıları kaybetmemektir.

Örneğin Honeypot time limit değerinin gereğinden yüksek ayarlanması hızlı form dolduran kullanıcıların engellenmesine neden olabilir.

Benzer şekilde agresif CAPTCHA veya bot kuralları da VPN kullanan, farklı tarayıcı yapılandırmasına sahip veya bazı güvenlik eklentileri kullanan gerçek ziyaretçileri etkileyebilir.

Bu nedenle form spam koruması kurulduktan sonra yalnızca spam sayısına değil, başarısız form gönderimlerine ve loglara da bakılmalıdır.

Sonuç

Drupal’da form spam’lerini engellemek için tek bir teknolojiye güvenmek yerine katmanlı bir yaklaşım daha sağlıklıdır.

Honeypot kullanıcı deneyimini bozmadan ilk savunma katmanını oluşturabilir. Turnstile daha gelişmiş botlara karşı ek koruma sağlayabilir. CAPTCHA ise ihtiyaç duyulan senaryolarda daha görünür bir doğrulama katmanı olarak kullanılabilir.

Önemli olan mümkün olan en sert korumayı kullanmak değil, spam seviyesine uygun güvenliği kullanıcı deneyimini bozmadan uygulamaktır.

Son Güncelleme: 25/09/2026

Ofislerimiz

Drupart AR-GE

GOSB Teknopark Hi-Tech Bina 3.Kat
B3 Gebze - KOCAELİ

+90 262 678 8872 

[email protected]

Frankfurt

Bleichstr. 26 64283 Darmstadt
Deutschland

+49 (0) 6151 – 492 70 23 

[email protected]

Dublin

20 Harcourt Street, Dublin 2, D02 H364

+353 (87) 198 6950 

[email protected]