CAPTCHA Nedir ve Nasıl Çalışır? Her Tür Açıklandı

what is captcha - What Is CAPTCHA and How Does It Work?

CAPTCHA, bir web sitesinin bir kişiyi bir betikten ayırt etmek için kullandığı bir testtir. “Ben robot değilim” seçeneğine tıkladıysanız, bir görüntüdeki çarpıtılmış harfleri yeniden yazdıysanız ya da içinde trafik ışığı olan her kareyi seçtiyseniz, bir tanesini çözmüşsünüzdür. Bunların birçoğunu hiç görmezsiniz, çünkü modern olanlar arka planda karar verir ve yalnızca bir şeyler ters göründüğünde araya girer.

Peki pratikte CAPTCHA nedir? İşte kısaltmanın açılımı, gerçekte karşılaşacağınız altı tür ve her birinin kararını nasıl verdiği.

CAPTCHA neyin kısaltmasıdır

CAPTCHA şunun kısaltmasıdır: Bilgisayarları ve İnsanları Ayırt Etmek için Tamamen Otomatik Genel Turing Testi. Uzun ad, basit fikir: insanların kolay, yazılımın zor bulduğu bir görev göster.

“yazılım için zor” yarısı, sürekli değişen kısımdır. Bozuk metin bulmacaları 2003'te bir makine için gerçekten zordu. Karakter tanıma yetişti, bu yüzden testler görüntülere, ardından davranışa, sonra da hiçbir şey göstermeden sizi puanlamaya kaydı. Her nesil, bir öncekinin çalışmayı bırakması nedeniyle var olur.

Gerçekte karşılaşacağınız altı tür

Web'deki neredeyse her CAPTCHA bunlardan biridir.

1. Text CAPTCHA

Bir görselin içindeki bozulmuş harfler ve rakamlar. Gördüğünüzü yeniden yazarsınız. Bu, orijinal formattır ve giderek azalıyor, çünkü karakter tanıma artık bunu iyi hallediyor. Yine de eski forumlarda, eski devlet portallarında ve dahili araçlarda karşılaşırsınız. Bunu programatik olarak okumak, bir görüntü CAPTCHA çözücü yapar.

2. Görüntü seçimi

Bir fotoğraf ızgarası ve bir talimat: otobüsleri, yaya geçitlerini, bisikletleri seçin. Bu, çoğu insanın kelimeyi duyduğunda gözünde canlandırdığı formattır. Genellikle bu, reCAPTCHA'nın seviye yükseltmesidir, çünkü istekle ilgili bir şey zaten otomatik görünmüştür.

3. Onay kutusu

“Ben robot değilim” onay kutusu. Tıklamanın kendisi neredeyse hiçbir şey kanıtlamaz. Önemli olan onun etrafında ölçülen her şeydir: imlecin nasıl geldiği, tarayıcının nasıl göründüğü, o IP'nin son zamanlarda ne yaptığı. Geçerseniz içeri girersiniz. Başarısız olursanız görüntü ızgarasını alırsınız.

4. Görünmez

Aynı mekanizma, onay kutusu yok. Doğrulama, sayfa yüklendiğinde veya form gönderildiğinde tetiklenir. Çoğu ziyaretçi hiçbir şey görmez ve bir challenge yalnızca sinyaller zayıf olduğunda görünür.

5. Skor tabanlı

Hiçbir noktada bulmaca yoktur. Sistem, etkileşimin ne kadar insana benzediğini tahmin eden bir sayı döndürür ve site bununla ne yapılacağına karar verir: izin ver, challenge sun ya da engelle. Ziyaretçiler için daha kolaydır ancak onu uygulayan kişi için hayli daha fazla iş gerektirir, çünkü eşik mantığı artık siteye aittir.

6. Cloudflare Turnstile

Cloudflare’ın alternatifi, mümkün olduğunca az görünür etkileşimle doğrulama yapmak için oluşturulmuştur. Bir formun içinde küçük bir bileşen olarak veya bir challenge çalışırken tam sayfa bir ara ekran olarak görünür. Bizim şu konudaki sayfamız: Cloudflare Turnstile bu iki modun pratikte nasıl farklılaştığını ele alır.

Bunların tümünün canlı sürümlerini şu adreste deneyebilirsiniz: CAPTCHA demo sayfaları.

Bir CAPTCHA nasıl karar verir

Sayfada, bir CAPTCHA normalde bir kapsayıcı öğe ve bir betiktir:

<!-- A reCAPTCHA v2 checkbox: one div, one script. -->
<div class="g-recaptcha" data-sitekey="YOUR_SITEKEY"></div>

<script src="https://www.google.com/recaptcha/api.js"
        async defer></script>

<!-- On success the widget writes a token into a hidden field
     called g-recaptcha-response, which posts with the form. -->

Görünür bulmaca, varsa, en küçük kısımdır. Bunun arkasında sağlayıcı, doğrudan hiç etkileşime girmediğiniz sinyalleri tartar:

  • fare hareketi, kaydırma ve yazma ritmi
  • tarayıcı ve cihaz özellikleri
  • o IP'den kaç isteğin geldiği ve ne yaptıkları
  • çerezler ve sağlayıcıyla önceki geçmiş
  • zamanlama, örneğin bir kişinin okuyabileceğinden daha hızlı gönderilen bir form

Ardından sonuç bir token. Widget tarayıcınıza kısa ömürlü bir dize verir, form onu gönderir ve sitenin backend'i geçip geçmediğinizi öğrenmek için o token'ı sağlayıcıyla takas eder. Tarayıcınızda hiçbir şeye karar verilmez; sayfayı düzenlemenin sizi asla geçirmemesinin nedeni de budur.

Web siteleri neden CAPTCHA kullanır

Çünkü otomatik kötüye kullanım ucuz ve hızlıdır. Tek bir betik, bir kişinin bir formu bir kez doldurduğu sürede o forma binlerce istek gönderebilir. Önünde bir kontrol olmadan, küçük siteler de büyükleri kadar kolay saldırıya uğrar.

Her zamanki hedefler:

  • iletişim ve yorum formları aracılığıyla spam
  • sahte hesap kaydı
  • giriş sayfalarına karşı kimlik bilgisi doldurma
  • içerik, fiyat veya listeleri kazıma (scraping)
  • ücretsiz denemelerin, kuponların ve hediyelerin kötüye kullanımı
  • ödeme ve stok istifleme

Bir CAPTCHA bunların hiçbirini imkansız kılmaz. Bunu, çoğu fırsatçı girişimin başka yere yönelmesine yetecek kadar pahalı hale getirir.

İnsanları neden hayal kırıklığına uğratırlar

Çünkü maliyet yalnızca botlara değil, herkese biner. Yaygın şikayetler, hepsi haklı:

  • ne tıklarsanız tıklayın sürekli yeniden yüklenen ızgara
  • okunamayacak kadar bozulmuş metin
  • yalnızca riskli olanlarda değil, her sayfada tetiklenen doğrulamalar
  • VPN'lerde, paylaşımlı ofis IP'lerinde ve gizlilik tarayıcılarında yanlış pozitifler
  • ekran okuyucular ve motor bozuklukları kötü şekilde ele alınıyor

Asıl ödünleşim budur. Korumayı artırırsanız daha fazla kötüye kullanımı ve daha fazla müşteriyi engellersiniz. Sektörün görünmez ve puan tabanlı kontrollere doğru ilerlemesinin nedeni budur: aynı koruma, ancak hiçbir zaman sorun olmamış kişilere yöneltilen kısmı daha az.

CAPTCHA bir katmandır, tüm savunma değil

Modern anti-bot yığınları nadiren bir CAPTCHA ile yetinir. Onun çevresinde hız sınırlama, IP itibarı, tarayıcı parmak izi, cihaz kontrolleri, davranışsal analiz ve oturum izleme bulunur.

Aynı sağlayıcıyı kullanan iki sitenin tamamen farklı davranmasının nedeni budur. Sağlayıcı bir sinyal sağlar. Her site kendi eşiklerini ve zayıf bir sinyalin size neye mal olması gerektiğine dair kendi cevabını belirler.

Ayrıca bir sitenin sizi doğrudan geçirdiği, bir diğerinin ise aynı bağlantıda size üst üste dört görüntü ızgarası gösterdiği sinir bozucu asimetriyi de açıklar.

Sık sorulan sorular

Basit ifadeyle CAPTCHA nedir?

Bir web sitesinin, bir ziyaretçinin script yerine bir kişi olup olmadığını kontrol etmek için kullandığı bir test. Bir bulmaca, bir onay kutusu veya hiç fark etmediğiniz sessiz bir arka plan kontrolü olabilir.

Web siteleri neden CAPTCHA kullanır?

Spam'i, sahte kayıtları, kaba kuvvet girişlerini, scraping'i ve diğer otomatik kötüye kullanımları azaltmak için. Her denemenin bir maliyeti olmasını sağlayarak çalışır; böylece toplu otomasyon ucuz olmaktan çıkar.

Başlıca CAPTCHA türleri nelerdir?

Metin, görüntü seçimi, checkbox, invisible, skor tabanlı ve Cloudflare Turnstile. İlk ikisi size bir bulmaca gösterir. Geri kalanı çoğunlukla veya tamamen hiç görmediğiniz sinyallere göre karar verir.

CAPTCHA her zaman görünür mü?

Hayır. Görünmez ve puan tabanlı sistemler hiçbir şey göstermeden çalışır ve yalnızca istek şüpheli göründüğünde bir challenge sunar. Bir sitede CAPTCHA yokmuş gibi geliyorsa, belki de sürekli geçtiğiniz bir CAPTCHA olabilir.

CAPTCHA tüm botları durdurur mu?

Hayır ve öyle olması da amaçlanmamıştır. Otomasyonun maliyetini artırır. Kararlı saldırganlar yine de geçer; işte tam da bu nedenle hız sınırlama, parmak izi çıkarma ve itibar kontrollerinin yerini almak yerine onların yanında yer alır.

Özet

Bir CAPTCHA, ziyaretçi ile eylem arasında ucuz bir filtredir. Görünen bulmaca küçük kısımdır; asıl işi çevresindeki sinyaller yapar ve sonuç, tarayıcınızın taklit edemeyeceği bir token olarak iletilir. Altı format karşılaşacağınız neredeyse her şeyi kapsar ve eğilim kesin olarak hiç görmediğiniz türlere doğrudur.

Google’ın uygulaması en çok karşılaşacağınız olandır ve kendi açıklamasına şurada sahiptir: reCAPTCHA'nın ne olduğu ve nasıl çalıştığı. Bunun diğer tarafındaysanız, yani challenge'ları bir tarayıcı veya bir test paketi içinde ele alıyorsanız, şuna bakın: Web scraping için CAPTCHA işleme. CapSkip'in kendisi bir sınırsız captcha çözücü kendi makinenizde çalışan.