Scarnox · Blog

Arkose Labs FunCaptcha: zorlama doğrulamaları ve çözüm

Arkose Labs, çoğu geliştiricinin hâlâ FunCaptcha adıyla bildiği captcha sağlayıcısıdır ve büyük sitelerde kayıt, giriş ve ödeme akışlarında kullanılır. En bilinen özelliği zorlama doğrulamasıdır (enforcement challenge): risk motoru bir ziyaretçinin daha fazla kontrol gerektiğine karar verdiğinde çıkan, bir nesneyi döndürmek ya da bir deseni eşleştirmek gibi kısa, oyun tarzı bir bulmacadır. Arkose için Scarnox desteği yakında geliyor. Bu rehber doğrulamaların nasıl çalıştığını, neden basit widget'lardan daha zor olduklarını ve meşru işler için genel yaklaşımları anlatır.

Arkose doğrulaması nasıl sunulur

Korunan sayfa bir Arkose script'i yükler ve siteyi tanımlayan bir public key verir. Doğrulamanın kendisi sağlayıcıdan sunulur; widget ziyaretçinin yanıtını bir token olarak geri bildirir. Diğer token widget'larında olduğu gibi, sitenin backend'i sonucu güvenmeden önce bu token'ı sağlayıcıyla doğrular.

Public key, bir sayfayla çalışmak istediğinizde aradığınız tanımlayıcıdır; tıpkı bir PopularCaptcha ya da reCAPTCHA widget'ını sitekey'in tanımlaması gibi. Captcha sitekey bulma rehberi tanımlayıcıların bir sayfada nasıl bulunacağını açıklar.

Doğrulamalar nasıl görünür

Arkose doğrulamaları genellikle kısa ve görseldir. Örnekler arasında bir resmi düz duruma gelene kadar döndürmek, bir kümedeki eşleşen öğeyi seçmek ya da 3B bir sahnede bir diziyi takip etmek var. Tasarım sık değişir ve her site farklı bir doğrulama kümesi kullanabilir. Bulmacanın kendisi de bir sinyaldir: ziyaretçinin hareket şekli ve harcadığı süre, son cevap kadar önemli olabilir.

Risk motoru

Doğrulama göstermeden önce sağlayıcı oturumu puanlar. Puan; tarayıcı sinyallerinden, cihaz özelliklerinden, istek geçmişinden ve sayfadaki davranıştan beslenir. Düşük riskli bir ziyaretçi hiç doğrulama görmeden geçebilir. Daha riskli biri bir veya birkaç bulmaca görür, çok yüksek riskli biri ise engellenebilir.

Risk motoru site bazında ayarlandığı ve zamanla değiştiği için, bir sitede işe yarayan genel bir yaklaşım başka bir sitede başarısız olabilir. Zorlama doğrulamalarının basit widget'lardan daha zor olmasının nedenlerinden biri budur.

Otomasyon neden işaretlenir

Otomasyon, diğer puan tabanlı kontrollerle aynı nedenlerle işaretlenir: varsayılan bir headless tarayıcı, geçmişi olmayan yeni bir oturum, hızlı ve düzenli bir istek örüntüsü ve itibarı zayıf ağ adresleri. Her sinyal risk puanına eklenir. Doğrulama daha sonra otomasyonun iyi yapamayacağı bir şeyi ister; örneğin doğru ve insan gibi görünen bir sürükleme hareketi.

Meşru yaklaşımlar

Kendi testleriniz ve meşru iş akışlarınız için, bu yaklaşımlar gereksiz doğrulamaları azaltır:

  1. Tutarlı ayarlara sahip gerçek bir tarayıcı profili kullanın, sadeleştirilmiş bir otomasyon derlemesi yerine.
  2. Oturumları kesintisiz tutun, böylece ziyaretçi her sayfada yeni görünmesin.
  3. İstekleri bir insanın makul şekilde üretebileceği bir hızda gönderin.
  4. Site sizinse sağlayıcının test ortamını kullanın. Arkose ve çoğu büyük sağlayıcı, gerçek risk puanlaması olmadan bir entegrasyonu test etmenin bir yolunu sunar.
  5. İşiniz meşru ama hâlâ engelleniyorsa site sahibinden bir izin listesi, bir API ya da erişilebilir bir alternatif isteyin.

Bu yaklaşımlar bir doğrulamanın ne sıklıkta çıktığını azaltır. Ancak sağlayıcının bir oturumu doğrulamaya tabi tutma hakkını ortadan kaldırmazlar ve sahibi olmadığınız hesaplardaki giriş korumasını aşmak için kullanılmamalıdırlar.

Arkose solver ne yapar

Token tabanlı bir Arkose solver, public key ile sayfa URL'sini alır, geçerli bir token üretir ve bunu kodunuza döndürür. Kodunuz token'ı, süresi dolmadan formla birlikte gönderir. Entegrasyonun yapısı canlı PopularCaptcha akışına benzer, ancak ayrıntılar farklıdır; Scarnox destek yayınlandığında görev türünü ve alanları API referansında belgeleyecek.

Scarnox bugün Arkose'u canlı olarak çözmez. Canlı olan tek görev türü PopularCaptcha'dır, proxysiz. Arkose desteği yakında geliyor.

Etik sınır nerede

Zorlama doğrulamaları giriş sayfalarını, ödeme akışlarını ve kayıt formlarını kötüye kullanıma karşı korumak için vardır. Bu akışlara karşı herhangi bir solver'ı; sahibi olmadığınız hesaplara girmek, spam hesap açmak ya da sınırlı stoğu diğer müşterilerden önce satın almak için kullanmak sınırların dışındadır. Scarnox bu kullanımları desteklemez. Korumalı bir sitedeki meşru iş site sahibiyle başlamalıdır ve sahibin cevabı neyin izin verildiğine karar verir.

İş öncesinde kontrol edilecekler

Bir Arkose ile korunan akışa karşı herhangi bir iş planlamadan önce birkaç soruya cevap verin. Akış sizin mi? Öyleyse geliştirme ve testin yapılacağı yer sağlayıcının test ortamı ve kendi staging kopyanızdır. İş meşru mu? Sitenin izin verdiği bir yolla herkese açık bilgi toplamak meşrudur; sahibi olmadığınız hesaplara girmek ya da toplu hesap açmak değildir. Site, tarayıcı iş akışını gereksiz kılan bir API ya da veri akışı sunuyor mu? Birçok site sunar; bu yol bir doğrulamayı otomatikleştirmekten daha hızlı ve daha stabildir.

Sonra hacme bakın. Zorlama doğrulamaları zaman içindeki davranışa tepki verir; bu yüzden düşük ve sabit bir hızda çalışan bir iş, hepsi aynı anda çalışan bir patlamaya kıyasla genellikle daha az doğrulama alır. Zamanlamayı buna göre planlayın. İşin, tasarlanmadığı bir doğrulamayla karşılaştığında döngüye girip tekrar denemek yerine durup raporlamasını sağlayın.

Son olarak, doğrulama tamamlanamadığında işin ne yapacağını önceden belirleyin. Günlük kaydı içeren temiz bir hata, siteye zarar veren ve trafiğinizin engellenmesine yol açan bir tekrar fırtınasından çok daha iyidir.

Sorumlu scraping

Korunan site scrape etmeyi planladığınız bir site ise önce robots.txt dosyasını ve kullanım koşullarını kontrol edin. Hızı düşük tutun, ihtiyacınız olmayan kişisel verilerden kaçının ve bir tarayıcı iş akışı kurmadan önce bir API arayın. Temel soruların cevapları için web scraping yasal mı rehberi bölümüne bakın.

Sonraki adımlar