İletişim

Bot Koruması Nedir?

Kısa tanım

Bot koruması, bir web sitesine gelen otomatik trafiği insan trafiğinden ayırmak ve kötüye kullanım amaçlı botları (form spam'i, kimlik bilgisi denemeleri, içerik kazıma, stok kapatma) engellerken arama motoru tarayıcıları gibi istenen botlara izin vermek için kullanılan teknikler bütünüdür. IP itibarı, istek hızı, davranış analizi, tarayıcı doğrulamaları ve CAPTCHA ya da Turnstile gibi sınamalar bu korumanın parçalarıdır.

Diğer adları: bot yönetimi, bot management, bot protection, CAPTCHA, Turnstile, anti-bot

Tüm isteklerin IP itibarı, hız sınırı ve doğrulama adımlarıyla süzülüp yalnızca insanların ve iyi botların geçtiği katmanlı bot koruması hunisi

Her bot düşman değildir

Bir sitenin trafiğinin önemli bir kısmı insan değildir ve bunun büyük bölümü istenen trafiktir: Googlebot gibi arama motoru tarayıcıları, çalışma süresi izleme servisleri, bağlantı önizlemesi oluşturan sosyal ağ botları ve yapay zekâ tarayıcıları. Koruma gereken trafik başka amaçlarla gelir:

  • İletişim formlarına spam ve sahte kayıtlar,
  • Sızdırılmış kullanıcı adı ve parolaların giriş sayfasında denenmesi (credential stuffing) ve kaba kuvvet saldırıları,
  • Fiyat ve içeriğin izinsiz toplu kopyalanması,
  • Sınırlı stokların botlarla toplanması veya sepette kilitlenmesi.

Bot korumasının asıl zorluğu engellemek değil, doğru olanı engellemektir.

Bir isteğin bot olduğunu ele veren sinyaller

  • User-agent: Kendini tanıtma şeklidir, ama değiştirmek bir satır koddur. Tek başına güvenilmez; “Googlebot” yazan her istek Google'dan gelmez.
  • Kimlik doğrulama: Google, kendi tarayıcılarını doğrulamak için ters ve ileri DNS sorgusu yapmayı veya yayımladığı IP aralığı JSON dosyalarıyla karşılaştırmayı önerir. Diğer büyük tarayıcı işletmecilerinin çoğu da IP listesi yayımlar.
  • Hız ve desen: Saniyede onlarca istek, hiç CSS veya görsel indirmeyen oturumlar, alfabetik sırayla gezilen URL'ler.
  • IP itibarı ve ağ türü: Veri merkezi adresleri, bilinen proxy ağları, daha önce kötüye kullanımla ilişkilendirilmiş aralıklar.
  • Tarayıcı sınamaları: Gerçek bir tarayıcının çalıştırabileceği küçük JavaScript görevleri ve ortam kontrolleri.

CAPTCHA ve Turnstile

CAPTCHA, insanların kolayca çözüp makinelerin zorlanacağı varsayılan bulmacalardır. Bugün iki sorunları vardır: görme veya motor engeli olan kullanıcılar için ciddi bir erişilebilirlik engeli oluştururlar ve gelişen yapay zekâ modelleri karşısında ayırt ediciliklerini yitirmektedirler. Bu yüzden yeni nesil çözümler kullanıcıya bulmaca göstermeden arka planda sinyal toplamaya yönelmiştir.

Cloudflare'in Turnstile ürünü bu yaklaşımın bir örneğidir. Belgelerine göre trafiği Cloudflare üzerinden geçirmeden her siteye eklenebilir; “managed”, “non-interactive” ve “invisible” modları vardır ve ücretsiz plan hesap başına 20 widget'a kadar izin verir. Kritik nokta, tarayıcıdan gelen token'ın mutlaka sunucuda doğrulanmasıdır; aksi halde koruma yalnızca görünüştedir:

const form = new FormData();
form.append("secret", process.env.TURNSTILE_SECRET_KEY);
form.append("response", tokenFromForm);
form.append("remoteip", clientIp);

const res = await fetch("https://challenges.cloudflare.com/turnstile/v0/siteverify", {
  method: "POST",
  body: form,
});
const outcome = await res.json();
if (!outcome.success) {
  // isteği reddet; formu işleme
}

Belgelere göre her token 300 saniye geçerlidir ve yalnızca bir kez doğrulanabilir.

İyi tarayıcıları yanlışlıkla engellemek

Agresif bir bot kuralı, en istemediğiniz ziyaretçileri de dışarıda bırakabilir. Googlebot'a bir doğrulama sayfası veya 403 dönen site, zamanla taranamaz ve dizinden düşebilir. Yapay zekâ tarayıcılarını kapsayan hazır bir “AI botlarını engelle” ayarı, robots.txt'de onlara izin verdiğiniz hâlde içeriğinizin yapay zekâ yanıtlarına ulaşmasını engelleyebilir. Ayrıntılar bot erişilebilirliği sayfasındadır. Herhangi bir bot kuralını yayına almadan önce:

  • Kuralı birkaç gün yalnızca kayıt (log) modunda çalıştırıp hangi user-agent'ların yakalandığına bakın.
  • Doğrulanmış arama motoru botlarını kural dışında tutun.
  • Değişiklikten sonra sunucu loglarında Googlebot ve diğer önemli tarayıcıların hâlâ 200 aldığını kontrol edin.

Sitenizin yapay zekâ tarayıcılarına açık olup olmadığını GEO Analiz Aracı ile de kontrol edebilirsiniz.

Katmanlı bir yaklaşım

Tek bir çözüm her bot türünü durdurmaz. Formlarda gizli bir tuzak alanı (honeypot) ve sunucu tarafı Turnstile doğrulaması, giriş sayfasında hız sınırlama ve çok faktörlü doğrulama, uç noktalarda WAF kuralları birlikte kullanıldığında, gerçek kullanıcıyı yormadan kötüye kullanımın büyük kısmı ayıklanır.

İlgili terimler

← Sözlüğe dön