Tüm yazılarTeknik

CAPTCHA ve JavaScript Sınaması: Doğru Bot Tespit Yöntemini Seçmek

Akarguard Ekibi · Güvenlik Ekibi7 dk okumaAug 14, 2024

İki yaklaşım da botları gerçek kullanıcılardan ayırır — ama farklı çalışır, farklı başarısız olur ve farklı sürtünme dayatır. İşte nasıl seçilir.

Bir ters vekil bir IP ya da ASN'den şüpheli trafik gördüğünde iki geniş seçeneği vardır: onu doğrudan engellemek ya da sınamak. Engellemek, aynı ağa takılan gerçek kullanıcıları geri çevirme riski taşır; bir sınama ise meşru ziyaretçilerin kendilerini kanıtlamasına izin verirken otomatik istemcileri eler. İki sınama türü baskındır — JavaScript sınamaları ve CAPTCHA'lar — ve aralarında seçim yapmak aslında gerçek insanlara ne kadar sürtünme dayatmaya razı olduğunuza dair bir seçimdir.

JavaScript Sınamaları

Vekil, küçük bir JavaScript bulmacası içeren bir sayfa döndürür. Gerçek bir tarayıcı onu çalıştırır, çözer ve bir doğrulama çerezi ayarlar — hepsi görünmez şekilde, genelde bir saniyenin altında. Bir ziyaretçi en fazla kısa bir parıltı görür. Çoğu otomatik saldırı aracı tam bir JavaScript motoru çalıştırmaz, dolayısıyla basitçe başarısız olur ve içerik almaz. Büyük avantaj sıfır sürtünmedir: meşru kullanıcılardan hiçbir şey istenmez.

CAPTCHA Sınamaları

Bir CAPTCHA kullanıcıdan insan olduğunu aktif olarak kanıtlamasını ister — görselleri tanımla, bir kutuyu işaretle, sesi çöz. Bu, JavaScript çalıştırabilen ama görsel bir bulmacayı çözemeyen bazıları dahil daha gelişmiş botları yakalar. Maliyeti gerçektir: CAPTCHA'lar sürtünme ekler, dönüşümü ölçülebilir biçimde düşürür ve görsel ya da motor engelli kullanıcılar için erişilebilirlik bariyerleri yaratır. Her sayfanın ön kapısında değil, yüksek değerli eylemlerde yerleri vardır.

  • JS sınaması: sıfır sürtünme, görünmez, çoğu basit botu engeller — ama kararlı bir başsız (headless) tarayıcı geçebilir.
  • CAPTCHA: görünür sürtünme, çoğu botu durdurur, zayıf erişilebilirlik ve genelde sınamanın kendisinde %5–15 kullanıcı kaybı.
  • Davranışsal / kutu-işaretleme sınamaları: fare hareketi ve zamanlama gibi sinyalleri kullanarak insanlığı yargılayan, daha düşük sürtünme.

Sürtünme bir özellik değil, bir maliyettir

Gerçek bir kullanıcıya gösterdiğiniz her sınama, dönüşüm ve erişilebilirlik üzerine küçük bir vergidir. Amaç, saldırıyı durduran en az sürtünmedir — ki bu genelde varsayılan olarak görünmez bir kontrol ve yalnızca risklerin haklı çıkardığı yerde görünür bir kontrol demektir.

Nasıl Seçilir — ve Akarguard Bunu Nasıl Uygular?

Pratik kural: bir saldırı sırasında şüpheli trafik için varsayılan olarak JavaScript sınamalarını kullanın, çünkü gerçek kullanıcılara hiçbir maliyeti yoktur ve CAPTCHA'yı kimlik bilgisi doldurma ya da suistimalle aktif olarak hedeflenen belirli yüksek değerli uçlar — giriş, ödeme, kayıt — için saklayın. Genel sayfa trafiğine asla CAPTCHA koymayın; dönüşüm kaybı güvenlik kazancından ağır basar. Akarguard tam da bu modeli izler: alan başına koruma modları varsayılan olarak görünmez bir JavaScript/çerez kontrolü uygular ve yalnızca sizin seçtiğiniz yerde bir CAPTCHA moduna yükselir; böylece koruma her ziyaretçiyi vergilendirmek yerine tehditle birlikte ölçeklenir.

Sıkça sorulan sorular

JavaScript sınaması ile CAPTCHA arasındaki fark nedir?

Bir JavaScript sınaması, tarayıcının bir saniyenin altında otomatik çözdüğü görünmez bir bulmaca çalıştırır; gerçek kullanıcılara sıfır sürtünme ile JavaScript çalıştırmayan botları engeller. Bir CAPTCHA ise kullanıcıdan insan olduğunu aktif kanıtlamasını ister; daha gelişmiş botları durdurur ama görünür sürtünme ekler, dönüşümü düşürür ve erişilebilirlik bariyerleri yaratır.

Bot tespiti için hangisi daha iyi, CAPTCHA mı JS sınaması mı?

Hiçbiri evrensel olarak daha iyi değil — farklı durumlara uyarlar. Varsayılan olarak görünmez JavaScript sınamalarını kullanın çünkü gerçek kullanıcılara hiçbir maliyeti yoktur ve CAPTCHA'yı aktif hedeflenen giriş ve ödeme gibi yüksek değerli uçlar için saklayın. CAPTCHA'yı tüm trafiğe uygulamak, güvenlikte kazandırdığından fazlasını dönüşümde kaybettirir.

CAPTCHA'lar dönüşüme zarar verir mi?

Evet, ölçülebilir biçimde — genelde sınamanın kendisinde %5–15 kayıp, artı görsel ya da motor engelli kullanıcılar için erişilebilirlik bariyerleri. İşte bu yüzden CAPTCHA'lar genel sayfa trafiğinde gösterilmek yerine belirli yüksek değerli eylemlere saklanmalıdır.

Akarguard sınamaları nasıl uygular?

Alan başına koruma modlarıyla: varsayılan olarak görünmez bir JavaScript/çerez kontrolü, yalnızca sizin seçtiğiniz alan ya da uçlarda bir CAPTCHA moduna yükselerek. Bu, sıradan ziyaretçilerden sürtünmeyi uzak tutarken kimlik bilgisi doldurma ya da suistimalin haklı çıkardığı yerde daha güçlü bir sınama uygulamanıza izin verir.

Sitenizi koruyun

Akarguard, trafiği sunucunuza ulaşmadan önce filtreler. Kurulum tek bir DNS değişikliğidir; donanım almanıza ya da sunucunuzu taşımanıza gerek yok.

Fiyatları gör