WordPress'te iletişim formu spam'ini CAPTCHA kullanmadan nasıl engellerim?
Yazan: Eureka Studio · Güncellendi
Kısa yanıt
CAPTCHA yerine görünmez kontrolleri birleştir: yalnızca botların doldurduğu gizli bir tuzak alan (honeypot), en kısa doldurma süresi, sayfa önbelleğinden etkilenmeyen bir belirteç ve IP ile e-posta başına sınırlar. Sınırda kalan mesajları silmek yerine karantinaya al. Yerel bir eklenti bunu Elementor, Contact Form 7 ve WPForms için veriyi başka bir yere göndermeden yapabilir. Hushfort'ta form eklentisi koruması Pro'nun parçasıdır; ücretsiz eklenti yalnızca yorumları ve değerlendirmeleri kapsar.
Adımlar
1Adım 1
Botların formuna nasıl saldırdığını izle
Botlar buldukları her alanı, bir insanın hiç görmediği gizli bir alan da dahil doldurur ya da sayfayı hiç yüklemeden gönderim yapar. Hushfort'un kaydı her durumu adıyla söyler: gizli tuzak alan doldurulmuş, belirteç yok, çok hızlı doldurulmuş, çok fazla bağlantı.
2Adım 2
Spam Kalkanı'nı deneme modunda aç
Hushfort'ta Spam Kalkanı'nı aç, anahtarı aç ve Çalışma şekli ayarını "Yalnız kaydet — deneme modu, hiçbir şeyi engellemez" yap. Hushfort Pro kuruluysa Form eklentileri açık kalsın, sonra kaydet. Henüz hiçbir şeyi engellemeden neyi engelleyeceğini kaydeder.

3Adım 3
Sessiz sınırları belirle (Pro)
En kısa doldurma süresini kısa tut (3 saniye). Pro ile ayrıca tek bir IP'nin (Tekil IP sınırı) ya da tek bir e-posta adresinin (Tekil e-posta sınırı) saatte kaç mesaj gönderebileceğini sınırla. En fazla bağlantı değerinden çok bağlantı içeren mesajlar karantinaya gider.
4Adım 4
Kaydı incele, sonra Engelle'ye geç
Birkaç gün sonra deneme modunun neleri yakaladığına bak. Arada gerçek mesajlar yoksa Çalışma şekli ayarını "Engelle (önerilen)" yap ve kaydet.

5Adım 5
Gerçek insanlar yalnızca gönderir
Bir ziyaretçi yarım dakika yazar, gizli alanı hiç görmez ve gönderir. Bulmaca yok, resim ızgarası yok.

Neden önemli
Form spam'i, öyle olmayana kadar çoğunlukla sadece can sıkıcıdır. Gerçek talepleri gömer, gelen kutuna göz gezdirmeye alıştırır ve formun otomatik yanıt gönderiyorsa posta sunucunun gönderim itibarını düşürebilir. Yoğun sitelerde sunucu zamanını da yer; çünkü her gönderim form eklentisinin tüm işlem sürecini çalıştırır.
Alışılmış çözüm olan CAPTCHA, maliyeti ziyaretçilerine yükler. Bulmaca çözerler, bazıları vazgeçer, gizlilik araçları kullananlar takılıp kalır. Çoğu CAPTCHA servisi ayrıca üçüncü taraf kod yükler ve ziyaretçi verilerini sunucunun dışına gönderir.
Daha sessiz bir yol var. Botlar, sessizce kontrol edebileceğin şekillerde insanlardan farklı davranır:
- Gizli alanları doldururlar. Gizli tuzak alan (honeypot), insanlardan gizlenen ama HTML'de görünen bir alandır. İnsan onu boş bırakır; bot doldurur.
- Hızlıdırlar. Bir insanın formu doldurması birkaç saniye sürer. Bir bota milisaniyeler yeter.
- Tekrar ederler. Saatte on mesaj gönderen tek bir IP ya da tek bir e-posta adresi müşteri değildir.
- Bağlantı yapıştırırlar. Yığınla bağlantı içeren bir mesaj nadiren gerçek bir taleptir.
Sık yapılan hatalar
- Karantinaya almak yerine engellemek. Bir kontrol emin değilse mesajı inceleme için tut. Gerçek bir müşterinin sorusunu silmek, bir spam okumaktan daha kötüdür.
- Doğrudan Engelle'ye geçmek. Birkaç gün yalnızca kaydeden bir modda başla. Engellemesine izin vermeden önce neyin engelleneceğine bak.
- Önbellekle bozulan belirteçler. Spam önleme belirtecin önbelleğe alınmış bir sayfanın parçasıysa tüm ziyaretçiler süresi dolmuş tek bir belirteci paylaşır. Belirtecini sayfa yüklenirken alan bir koruma kullan.
- Tek bir kontrol. Gizli tuzak alan tek başına basit botları durdurur. Bir doldurma süresi kontrolü ve sınırlar ekle.
Eklentisiz
Çoğu form eklentisinde bunun temel bir sürümü yerleşik olarak bulunur:
- Elementor Pro formları: alan listesinden bir "Honeypot" alanı ekle.
- Contact Form 7: bir eklenti aracılığıyla gizli tuzak alan ekle; verileri o servise göndermeyi kabul ediyorsan CF7 Akismet'i de destekler.
- WPForms: yerleşik bir spam önleme belirteci ve her formun ayarlarında isteğe bağlı bir gizli tuzak alan sunar.
Kontrol ettiğin herhangi bir forma elle basit bir gizli tuzak alan da ekleyebilirsin:
<div style="position:absolute;left:-9999px" aria-hidden="true">
<label>Leave this empty <input type="text" name="website" tabindex="-1" autocomplete="off"></label>
</div>
<?php
if ( ! empty( $_POST['website'] ) ) {
wp_die( 'Spam detected.', 403 );
}
Sınırları şunlar: her form eklentisi bunu farklı yapar, formlar arasında genellikle ortak bir hız sınırı yoktur, hataları yakalayacak bir karantina yoktur ve yorumlar ya da değerlendirmeler için hiçbir şey yoktur. Sonunda aynı fikri beş kez ayarlamış olursun.
Bir şeyler ters giderse
- Gerçek mesajlar gelmez oldu. Spam Kalkanı'nı deneme moduna al, bir test gönder ve hangi kontrolün onu yakaladığını görmek için kayda bak.
- Formlar yalnızca bazı ziyaretçilerde başarısız oluyor. Korumayı açtıktan sonra sayfa önbelleğini bir kez temizle.
- Spam hâlâ geçiyor. Bağlantı sınırını düşür, yasak listeye kelime ya da alan adı ekle veya yalnızca bilinen e-posta sağlayıcılarını kabul etmesi gereken formlar için sıkı modu aç.
Hushfort ile
Ücretsiz WordPress güvenlik eklentisi Hushfort Security'nin Spam Kalkanı yorumları ve WooCommerce değerlendirmelerini korur. Form eklentileri için Hushfort Pro gerekir; Pro aynı ekrana altı popüler form eklentisini (Elementor Pro, Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator) ekler.
- Görünmez tuzak alan, en kısa doldurma süresi ve sayfa önbelleğinden etkilenmeyen imzalı belirteçler. Belirteç, çerez kullanmayan, yaklaşık 2 KB'lık minik bir betikten gelir.
- Pro: varsayılan olarak IP başına (saatte 5) ve e-posta başına (saatte 3) sınırlar; 2'den fazla bağlantı içeren mesajlar karantinaya gider.
- Pro: yaklaşık 9.900 tek kullanımlık e-posta alan adından oluşan bir liste, kendi yasak listelerin ve kelime filtreleri.
- Pro: "Spam değil" ile öğrenen karantina.
- Bir deneme modu var; engellemeden önce neyi engelleyeceğini görebilirsin.
CAPTCHA yok, harici API yok ve hiçbir form verisi sunucundan çıkmaz.
Sık sorulan sorular
Gizli tuzak alanlar (honeypot) form spam'ini gerçekten durdurur mu?
Neden reCAPTCHA'dan kaçınmalı?
Bu, sayfa önbelleğiyle çalışır mı?
Hangi form eklentileri kapsanıyor?
Spam'e benzeyen ama gerçek olabilecek bir mesaja ne olur?
İlgili rehberler
WordPress'te yorumları nasıl kapatırım ya da yorum spam'ini nasıl durdururum?
WordPress'te yorumları her yerde kapat ya da açık tutup spam'i durdur. Yazılara ve ürün değerlendirmelerine ayrı kural, pingback'ler kapalı, CAPTCHA yok.
Adımları okuWordPress'te spam üye kayıtlarını nasıl engellerim?
WordPress ve WooCommerce'te spam kayıtları saatlik sınırlar, site geneli bir tavan ve görünmez bot tuzaklarıyla durdur; ödemeyi asla engellemeden.
Adımları okuWordPress'te sahte Googlebot trafiğini nasıl tespit eder ve engellerim?
Googlebot gibi davranan sahte botlar WordPress'i yavaşlatır. Gerçek tarayıcıyı IP ile doğrula, sahteyi engelle, IP başına bütçe koy, ödemeyi açık tut.
Adımları oku

