reCAPTCHA v2
ve CapMonster Cloud

Captcha çözümü, site entegrasyonu ve uçtan uca test tek akışta.

reCAPTCHA V2 çözümünün fiyatlandırması

CAPTCHA
Fiyat (USD)
$ 0.60
1000 jeton
Captcha veya başka bir koruma katmanı olan bir site devraldınız ama kaynak koda erişemiyor musunuz? O zaman hangi çözümün kurulu olduğunu, doğru ayarlanıp ayarlanmadığını ve nasıl test edileceğini bilmek istersiniz.

Bu makalede tüm önemli sorulara cevap vermeye çalıştık. Bir problemi çözmeye başlamanın ilk adımı, hangi koruma sisteminin kullanıldığını belirlemektir. Bunun için, görsel örneklerin ve neyle karşı karşıya olduğunuzu hızlıca anlamanıza yardımcı olabilecek temel işaretlerin yer aldığı popüler captcha ve anti-bot koruma sistemleri listesine başvurabilirsiniz.

Sitenizde reCAPTCHA V2 kullanıldığını fark ederseniz, bir sonraki adım özelliklerini ve çalışma şeklini daha ayrıntılı incelemek olacaktır. Yine bu makalede, reCAPTCHA V2 sisteminin entegrasyonuna ilişkin kılavuzu da bulabilir ve böylece sitenizde nasıl çalıştığını tamamen anlayabilirsiniz. Bu da yalnızca mevcut korumayı anlamanıza değil, aynı zamanda bakımını doğru şekilde planlamanıza da yardımcı olur.

Google reCAPTCHA v2 nedir
Google reCAPTCHA v2 nedir
reCAPTCHA v2, Google tarafından spam'i ve siteye zarar verebilecek diğer otomatik işlemleri engellemek için geliştirilen bir koruma sistemidir. Gerçek kullanıcıları botlardan ayırmaya yardımcı olarak web kaynağınızı güvenli ve istikrarlı tutar.
Background
reCAPTCHA V2 örnekleri
reCAPTCHA v2
reCAPTCHA v2
Kullanıcının insan olduğunu doğrulamak için checkbox'a tıkladığı klasik captcha'dır. Bazı durumlarda ek bir görev penceresi (ör. belirli görselleri seçme) açılabilir.
reCAPTCHA v2 Invisible
reCAPTCHA v2 Invisible
Kullanıcı müdahalesi olmadan otomatik doğrulama yapan görünmez sürümdür; checkbox'a tıklamak gerekmez.
reCAPTCHA v2 Enterprise
reCAPTCHA v2 Enterprise
Ek kontroller ve güvenlik özellikleri sunan kurumsal versiyon.

reCAPTCHA v2, CapMonster Cloud ile nasıl çözülür

reCAPTCHA V2 içeren formları test ederken, captchanın düzgün çalıştığını ve doğru entegre edildiğini doğrulamanız gerekir.

Sitenize yerleştirilen captchayı manuel olarak test edebilirsiniz.

  • Form sayfasını açın ve captchanın görüntülendiğinden emin olun.
  • Çözmeden form göndermeyi deneyin — sunucu hata döndürmelidir.
  • Başarılı çözümlerden sonra form sorunsuz gönderilmelidir.

Otomatik çözüm için CapMonster Cloud gibi araçlar kullanabilirsiniz. Captcha parametrelerini alır, kendi sunucularında işler ve hazır bir token döndürür. Bu tokenı forma ekleyerek kullanıcı müdahalesi olmadan doğrulamayı geçebilirsiniz.

CapMonster Cloud API ile çalışma genellikle şu adımlardan oluşur:

Görev oluşturmaGörev oluşturma
arrow
API isteği göndermeAPI isteği gönderme
arrow
Sonucu almaSonucu alma
arrow
Token'ı sayfaya yerleştirmeToken'ı sayfaya yerleştirme
arrow
Hazır kütüphanelerle reCAPTCHA v2 çözme
CapMonster Cloud; Python, JavaScript (Node.js) ve C# için hazır SDK'lar sağlar.
Python
JavaScript
C#
Çözüm, token ekleme ve form gönderimi
Node.js örneği, web sayfanızda captchayı çözmenin tüm adımlarını gösterir. HTML ve captcha parametrelerini HTTP ile almak, yanıtı gönderip sonucu işlemek veya Playwright gibi otomasyon araçlarıyla sayfayı açıp captchayı beklemek, parametreleri (geçerli veya hatalı) iletmek, CapMonster Cloud istemcisiyle sonucu almak, tokenı forma yerleştirip sonucu görmek gibi yöntemler kullanılabilir.
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium


const { chromium } = require('playwright');
const { CapMonsterCloudClientFactory, ClientOptions, RecaptchaV2Request } = require('@zennolab_com/capmonstercloud-client');

(async () => {
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();

  const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=high';
  const WEBSITE_KEY = '6Lcg7CMUAAAAANphynKgn9YAgA4tQ2KI_iqRyTwd';
  const CMC_API_KEY = 'your_capmonster_cloud_api_key';

  const cmc = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: CMC_API_KEY }));

  await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });

  // Captcha çözümü
  const solution = await cmc.Solve(new RecaptchaV2Request({ websiteURL: TARGET_URL, websiteKey: WEBSITE_KEY }));
  const token = solution.solution.gRecaptchaResponse;

  // Token ekleyip formu gönderin (gerekli seçici ile değiştirin)
  await page.evaluate((t) => {
    const ta = document.querySelector('textarea#g-recaptcha-response');
    if (ta) ta.value = t;
    document.querySelector('form.formular')?.submit();
  }, token);

  console.log('Captcha çözüldü ve form gönderildi!');
})();
reCAPTCHA v2'yi sitenize nasıl entegre edersiniz
Captchanın sitenizde nasıl çalıştığını, doğrulama mantığını ve yeniden konfigürasyon adımlarını öğrenmek için bu bölüme göz atın. Koruma kurulumu adım adım açıklanır.

1. reCAPTCHA yönetim konsolu sayfasına gidin.

2. Yeni bir site kaydedin.

Captcha türünü seçin — reCAPTCHA v2 (checkbox + görevler veya görünmez sürüm).

HowTo Connect image 1

3. İki anahtar alın:

  • Site key — frontend'de kullanılan genel anahtar;
  • Secret key — sunucu doğrulamasında kullanılan gizli anahtar.

HowTo Connect image 2

Ayarlar bölümünde reCAPTCHA kullanabilecek alan adlarını tanımlayabilir veya güvenlik seviyesini seçebilirsiniz.

4. İstemci tarafı kod örneği. reCAPTCHA v2 içeren HTML formu (sayfa gövdesine yapıştırabilirsiniz):

reCAPTCHA v2'li HTML formureCAPTCHA v2'li HTML formu
arrow

5. Yanıtı sunucu tarafında doğrulayın.

PHP örneğiPHP örneği
arrow
Background
Olası hatalar ve hata ayıklama
Bug Icon
Geçersiz site veya anahtar
Captcha yüklenmiyor veya invalid-input-secret hatası veriyor.
Bug Icon
Çözüm zaman aşımı
Sunucu yanıtı zamanında almadı. Bekleme süresini artırın.
Bug Icon
Boş token
Sonuç sayfaya iletilirken hata oluştu.
Bug Icon
Response success=false
Token süresi doldu, tekrar kullanıldı veya sahte. İstek loglarını açın ve Google yanıtındaki error-codes alanını inceleyin.
Korumanın dayanıklılığını test etme
Entegrasyondan sonra sistemin gerçekten otomatik işlemleri engellediğinden emin olun.
Güvenlik ve optimizasyon önerileri
<span class="font-bold">Secret Key</span>’i yalnızca sunucuda saklayın, asla istemci tarafına aktarmayın.
Belirli kontrollerin neden başarısız olduğunu anlayabilmek için hata kodlarını <span class="font-bold">(error-codes)</span> loglayın.
Formun altına, lisansın gerektirdiği şekilde <span class="font-bold">Gizlilik Politikası</span> ve <span class="font-bold">Google Kullanım Şartları</span> bağlantılarını ekleyin.
Sonuç

Kodu üzerinde erişiminiz olmayan, ancak üzerinde zaten bir captcha veya başka bir koruma sistemi kurulmuş bir site devraldıysanız, sorun değil! Hangi teknolojinin kullanıldığını tespit etmek oldukça kolaydır. Çalışmanın düzgün olup olmadığını kontrol etmek için ise, izole bir test ortamında CapMonster Cloud tanıma servisinden yararlanarak, jeton işleme mekanizmasının ve doğrulama mantığının doğru şekilde çalıştığından emin olabilirsiniz.

reCAPTCHA V2 söz konusu olduğunda, sistemi tanımlamak, davranışını incelemek ve korumanın düzgün çalıştığını doğrulamak yeterlidir. Bu yazıda, reCAPTCHA V2 nasıl tespit edilir ve entegrasyonu ya da yeniden yapılandırılması için talimatların nerede bulunabileceği gösterdik; böylece korumayı güvenle sürdürebilir ve çalışmasını kontrol altında tutabilirsiniz.

Conclusion

reCAPTCHA v2 hakkında sık sorulan sorular

Çözüm isteği göndermek için https://api.capmonster.cloud/createTask adresine JSON ile POST yapın:

{
  "clientKey": "API_KEY",
  "task": {
    "type": "RecaptchaV2Task",
    "websiteURL": "[target_page_URL_with_reCAPTCHA]",
    "websiteKey": "[reCAPTCHA_website_key]"
  }
}
  • clientKey — CapMonster Cloud hesabınızdaki API anahtarı
  • task.type: RecaptchaV2Task olarak ayarlayın
  • task.websiteURL: captchanın göründüğü sayfanın URL'si
  • task.websiteKey: sayfanın HTML'ine gömülü genel sitekey

Sonraki adımlar için reCAPTCHA çözüm dokümantasyonunu okuyun.

Önceki soruda açıklanan parametrelerle https://api.capmonster.cloud/createTask adresine görev gönderin.

clientKey ve taskId (createTask yanıtında döner) ile https://api.capmonster.cloud/getTaskResult adresini sorgulayın.

status alanı ready olduğunda yanıtta gRecaptchaResponse dizesi bulunur — bu çözülmüş token'ınızdır.

reCAPTCHA v2 türüne ve site mimarisine bağlı olarak token'ı hedef siteye aşağıdaki yöntemlerden biriyle gönderin:

  • Standart DOM enjeksiyonu: tipik checkbox entegrasyonlarında token'ı gizli metin alanına enjekte edin (ör. document.getElementById("g-recaptcha-response").innerHTML = token;) Playwright'ın page.evaluate() yöntemiyle (veya Puppeteer/Selenium karşılığı). Ardından programatik olarak form.submit() çağırın veya gönder düğmesini tetikleyin.
  • JavaScript Callback (görünmez reCAPTCHA): sayfa callback'li görünmez captcha kullanıyorsa data-callback özniteliğindeki fonksiyon adını bulun ve otomasyon betiğinizle token'ı argüman olarak geçirerek çalıştırın (ör. onVerifyCallback("TOKEN_STRING")).
  • Doğrudan HTTP isteği: tarayıcı render'ını atlamak için sitenin yerel gönderim isteğini yakalayın ve token'ı form verilerinin parçası olarak (ör. g-recaptcha-response=TOKEN_STRING) HTTP istemcinizle doğrudan backend'e gönderin.

Hedef sunucu token'ı gönderiminizden çıkarır ve Google'ın siteverify uç noktasıyla doğrular.

CapMonster Cloud her iki modu da aynı API çağrısıyla işler. Görünmez mod için createTask isteğine isInvisible: true parametresini ekleyin. reCAPTCHA çözümünü doğru onaylamak için sitenin token'ı gönderme yöntemini belirleyin. Bu yöntemler önceki soruda açıklanmıştır.

En sık neden, zaten kullanılmış veya süresi dolmuş bir token'dır — reCAPTCHA v2 token'ları tek kullanımlık ve kısa ömürlüdür; herhangi bir gecikme veya tekrarlı gönderim bunu tetikler. https://www.google.com/recaptcha/api/siteverify adresinden gelen ham HTTP yanıtını kaydetmekle başlayın — bu yanıttaki error-codes dizisi birincil tanı sinyalinizdir.

İki diğer yaygın neden: invalid-input-secret backend'e yanlış gizli anahtar geçirildiği anlamına gelir; sunucuda boş g-recaptcha-response alanı ise genellikle form gönderilmeden önce frontend token enjeksiyonunun sessizce başarısız olduğunu gösterir.

Ayrıca CapMonster Cloud'a geçirdiğiniz websiteURL'nin Google'ın token'ı doğruladığı origin ile tam olarak eşleştiğini doğrulayın — uyumsuzluk domain bağlama hatasına yol açar.

Teknik olmayan kullanıcılar için: CapMonster Cloud tarayıcı uzantısını (Chrome/Firefox) kullanın. Captcha davranışını doğrudan sayfada test etmenize ve çözüm sürecini gerçek zamanlı izlemenize olanak tanır. Uzantıyı yükleyin, API anahtarınızı ekleyin ve reCAPTCHA korumalı sayfanızı açın.

QA ve DevOps için: basit üç adımlı bir test uygulayın:

  1. Captcha çözülmeden formu gönderin — success: false dönmelidir.
  2. Captcha çözülmüş formu gönderin — istek başarılı olmalıdır.
  3. Yük testi yapın (k6 veya JMeter, 100+ RPS) ve süresi dolmuş veya yeniden kullanılan token'ların doğru şekilde reddedildiğini doğrulayın (ör. HTTP 403).

Önemli: siteverify her zaman HTTP 200 döndürür — hatalar HTTP durum koduyla değil, success alanıyla belirlenir.