CAPTCHA ile insan doğrulaması yapabilir miyim?
Kısa cevap
Evet, üç yerde. Advanced CAPTCHA aksiyonu koşulla hedeflenen HTTP isteklerine CAPTCHA gösterir; Bot/DDoS korumasında bir korumanın aksiyonu Show Captcha seçilir; AGS'de bot koruma politikasının aksiyonu Captcha seçilir ve TR7 Captcha ya da CAPTCHA Providers ekranında tanımlı bir sağlayıcı kullanılır. Advanced CAPTCHA'da Captcha Type (Text, Math, Invisible; varsayılan Text), Difficulty (varsayılan Medium) ve Captcha Valid for (varsayılan 24 saat) belirlenir; doğrulamayı geçen kullanıcıya bu süre boyunca yeniden sorulmaz.
Sorun: Otomatik İstekler İnsan Kullanıcılarla Karışıyor
Giriş, kayıt ya da form sayfalarına otomatik istek gönderen araçlar ile gerçek kullanıcılar ayırt edilmek istenir. Engellemek yerine kullanıcıdan kısa bir doğrulama istemek, meşru kullanıcıların erişimini korur.
Çözüm: Dört Yöntem
İlk üç yöntem birbirinden bağımsızdır; Yöntem 4, Yöntem 1'in komut satırı karşılığıdır.
| Durumunuz | Uygun yöntem |
|---|---|
Belirli sayfalarda (ör. /login) CAPTCHA | Yöntem 1: Advanced CAPTCHA |
| İstek sınırı ya da bot skoru aşılınca CAPTCHA; Bot/DDoS koruması lisanslı | Yöntem 2: Bot/DDoS → Show captcha |
| AGS açık vService ya da Google reCAPTCHA, hCaptcha, Cloudflare Turnstile gibi bir sağlayıcı | Yöntem 3: AGS → Captcha aksiyonu |
| Yöntem 1'i komut satırından kurmak | Yöntem 4: WEB-CLI |
Yöntem 1: Advanced CAPTCHA Önerilen
- Nasıl çalışır Koşula uyan istek, geçerli bir doğrulama çerezi taşımıyorsa CAPTCHA sayfasıyla karşılanır. Doğrulama başarılı olunca istemcinin IP adresine ve tarayıcısına bağlı, imzalı bir çerez verilir; çerez Captcha Valid for süresince geçerlidir.
- Nerede açılırLoad Balancer → Actions → Advanced CAPTCHA
- Gereksinim Yok
- vService tipi HTTP (aksiyon yalnızca istek aşamasında çalışır)
Adım adım yapılandırma
Load Balancer → Conditions → Add ile koşul formu açılır (nasıl eklenir).
Condition Name = login-yolu, Criteria = Path seçilir; eşleştirme listesinde Start, Query alanına /login yazılır.
Koşul Add ile kaydedilir.
Load Balancer → Actions → Add ile aksiyon formu açılır (nasıl eklenir).
Action Name = login-captcha, Action Type = Advanced CAPTCHA seçilir. Captcha Type (Text, Math ya da Invisible), Difficulty (Very Easy … Very Hard) ve Captcha Valid for (5 dakika – 30 gün) belirlenir. Art arda başarısız olan istemcileri bir süre engellemek için Captcha Quarantine açılabilir (varsayılan kapalı; açıldığında varsayılan eşik 3 başarısız deneme / 5 dakika, karantina süresi 30 dakika).
Conditions alanında login-yolu seçilir. Koşul boş bırakılırsa CAPTCHA bütün isteklere uygulanır.
Aksiyon Add ile kaydedilir.
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilip Edit ile düzenleme formu açılır.
Details → Actions alanında login-captcha seçilir. Aksiyon vService'e eklenmedikçe çalışmaz.
Form Save ile kaydedilir. Cluster'da değişiklik varsayılan olarak eş cihaza otomatik aktarılır; Manual Sync Mode açıksa Synchronize ile gönderilir. Doğrulama çerezi imzalı olduğu için doğrulanmış kullanıcıya eş cihazda yeniden CAPTCHA sorulmaz.
Doğrulama
https://www.example.com/login tarayıcıda açılır, CAPTCHA çözülür ve sayfa yenilenir.
İlk istekte CAPTCHA; çözüldükten sonra giriş sayfasıYöntem 2: Bot/DDoS → Show Captcha
- Nasıl çalışır Bir Bot/DDoS korumasının aksiyonu Show Captcha olduğunda sınırı aşan istemciye CAPTCHA gösterilir. CAPTCHA'nın görünümü ve geçerlilik süresi vService başına tek olan Captcha kartından yönetilir; L7 DDoS, IP Reputation ve Bot korumaları bu kartı paylaşır.
- Nerede açılır Left Monitor Panel → Bot/DDoS Protected vServices → vService → Bot/DDoS Management → Captcha kartı ve koruma kartları
- Gereksinim Bot/DDoS protection lisansı; CAPTCHA'ya yönlendiren korumalardan en az biri Active modda
- vService tipi HTTP
Adım adım yapılandırma
vService'te koruma açık değilse vService düzenlenir, Details altındaki L7 DDoS & Threat Protection kutusu işaretlenip Save ile kaydedilir (iki yol). Koruma açıldığında IP Reputation Protection Active modunda başlar (başlangıç modları).
Bot/DDoS Management sekmesinde Captcha kartının Edit bağlantısı tıklanır (Captcha Edit ekranı).
Captcha Type (varsayılan Text), Difficulty (varsayılan Medium) ve Captcha Valid for (varsayılan 24 saat) belirlenir; art arda başarısız olanlar için Quarantine failed captcha solvers açılabilir.
Pencere Edit butonuyla kaydedilir.
CAPTCHA'nın gösterileceği bloğun kalem ikonu tıklanır: L7 DDoS Protection kartında ilgili bloğun (ör. Source IP Request Protection) sağ üstündeki kalem ikonu, Bot Protection kartında Action Rules kutusunun kalem ikonu.
Limit Action alanında Show Captcha seçilir (Bot Protection'da ilgili skor kuralının aksiyonu). Varsayılan değerlerde Source IP Request Protection, Source IP Error Protection ve Total Request Protection zaten Show captcha uygular, Bot Protection'ın Action Rules listesi de skor 75 ve üzerine Show captcha uygular.
Pencere Edit butonuyla kaydedilir.
Aynı kartın sağ üstündeki mod rozetinin altındaki Edit bağlantısı tıklanır.
Mod alanında (L7 DDoS Protection'da DDoS Protection, Bot Protection'da Bot Protection) Active seçilir. Monitor modunda CAPTCHA gösterilmez; olay kaydına yalnızca uygulanacak aksiyon yazılır.
Pencere Edit butonuyla kaydedilir; ayrı bir dağıtım adımı yoktur.
Doğrulama
Bot/DDoS Event Logs ekranında ilgili korumanın sekmesine bakılır.
Sınırı aşan istemci için Show captcha kaydıYöntem 3: AGS → Captcha Aksiyonu
- Nasıl çalışır AGS bot koruma politikası tetiklendiğinde aksiyon Captcha ise istemciye Captcha Provider alanında seçilen sağlayıcının (TR7 Captcha, Google reCAPTCHA, hCaptcha ya da Cloudflare Turnstile) doğrulaması gösterilir.
- Nerede açılırAGS → Protection Policies → Bot Protection Policies
- Gereksinim AGS lisansı; AGS etkin vService. Dış sağlayıcı için önce CAPTCHA Providers kaydı.
- vService tipi HTTP
Adım adım yapılandırma
vService'te AGS açık değilse açılır (iki yol); AGS açıldığında varsayılan akış kullanıcıları reddettiği için önce akış hazırlanır: WAF, L7 DDoS & Threat Protection ve AGS'yi bir vService'e nasıl bağlarım?
Google reCAPTCHA, hCaptcha ya da Cloudflare Turnstile kullanılacaksa AGS → Protection Policies → CAPTCHA Providers → Add ile sağlayıcı kaydı oluşturulur (CAPTCHA Providers). TR7 Captcha için bu adım gerekmez.
AGS → Protection Policies → Bot Protection Policies → Add ile politika formu açılır.
Bot Protection Policy Name girilir, Trigger Type seçilir (ör. Requests: belirli bir istek eşiği aşılınca, Static: her istekte); Action = Captcha ve Captcha Provider seçilir.
Politika Add ile kaydedilir.
Left Monitor Panel → AGS-Enabled vServices → vService → AGS Management sekmesinde Protection bölümünün Edit bağlantısı tıklanır.
Açılan Edit / Protection penceresinde Bot Protection Policies alanında politika seçilir.
Accept tıklanır; politika AGS Management sekmesindeki Bot Protection kutusunda listelenir.
Doğrulama
AGS vService'inin Live Stats ekranında Captcha bölümüne bakılır.
Gösterilen ve çözülen CAPTCHA sayılarıYöntem 4: WEB-CLI
- Nasıl çalışır Yöntem 1'deki koşul ve Advanced CAPTCHA aksiyonu
lb condition/lb actionile oluşturulur, aksiyonlb serviceile vService'e eklenir. - Nerede açılır TR7 WEB-CLI →
lb condition·lb action·lb service - Gereksinim WEB-CLI erişimi. Captcha Quarantine alanları WEB-CLI'da yoktur; gerekiyorsa aksiyon oluşturulduktan sonra arayüzden açılır.
- vService tipi HTTP
Adım adım yapılandırma
WEB-CLI her satırı ayrı bir komut olarak çalıştırır; komutlar tek satırda yazılır.
lb condition add criteria path query /login --content_placement start --name login-yoluAksiyonun --cond alanı koşulun adını değil kimliğini ister. lb condition add başarılı olduğunda çıktı vermez; kimlik aşağıdaki listenin id sütununda görülür (lbConditions- ile başlar).
lb condition list--captchaType için text, math, invisible; --captchaDifficulty için 1 (Very Easy) – 5 (Very Hard) yazılır. Süre --captchaVerifiedTtl.val ve --captchaVerifiedTtl.unit (m, h, d) ile verilir (engelleme ve doğrulama aksiyonları).
lb action add type advancedCaptcha name login-captcha --captchaType math --captchaDifficulty 3 --captchaVerifiedTtl.val 24 --captchaVerifiedTtl.unit h --cond <login-yolu-kimliği>rules.0, rules.1… satırları vService'e bağlı aksiyonları gösterir.
lb service show <vService>Yeni aksiyon ilk boş indekse, yani mevcut aksiyon sayısına yazılır. Örnekte vService'te iki aksiyon (rules.0, rules.1) olduğu için --rules.2 kullanılır; dolu bir indekse yazmak oradaki aksiyonun yerine geçer.
lb service update id <vService> --rules.2 login-captchaDoğrulama
Komut: lb action show login-captcha
captchaType ve cond alanları doluSık Yapılan Hatalar
- Advanced CAPTCHA'yı bütün siteye koşulsuz uygulamak. Her ziyaretçi doğrulama görür; koşulla yalnızca riskli sayfalar hedeflenir.
- API istemcilerine CAPTCHA göstermek. Tarayıcı olmayan istemciler CAPTCHA çözemez; API yolları koşulla dışarıda bırakılır.
- Hit Counter beklemek. Advanced CAPTCHA aksiyonunda Hit Counter yoktur; doğrulama trafiği tarayıcıdan, Captcha quarantine açıksa Logs & Tracking tablolarından izlenir.
- Bot/DDoS'u Monitor modunda bırakmak. Monitor modunda Show captcha uygulanmaz, CAPTCHA sayfası hiç üretilmez.
--condalanına koşul adını yazmak. WEB-CLI'da--condkoşul kimliği bekler; ad yazılırsa aksiyon var olmayan bir koşula bağlanır.
Dokümantasyonda nasıl yapılır
İlgili sorular
- Botları nasıl tespit ederim; iyi botlara (Googlebot vb.) izin verip kötüleri engelleyebilir miyim?
- Rate limiting yapabilir miyim (IP başına saniyede X istek)?
- Karantinadaki istemcileri nasıl görürüm?
- Advanced CAPTCHA'yı çözemeyen bir istemcinin başarısız deneme sayısını ve karantinaya ne kadar yaklaştığını nasıl görürüm?
