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 v3 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 v3 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.
reCAPTCHA v3 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.
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:
reCAPTCHA v3’ü çözme isteğinizde aşağıdaki parametreleri belirtmeniz gerekir:
type - RecaptchaV3TaskProxyless;
websiteURL - captchanın çözüldüğü sayfanın adresi;
websiteKey - sitenizdeki captchanın bulunduğu sayfada belirtilen anahtar tanımlayıcı (sitekey);
minScore - 0.1 ile 0.9 arasında bir değer alabilir;
pageAction - Google’daki ReCaptcha bileşeni tarafından iletilen action parametresinin değeri. Varsayılan değer: verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta",
"websiteKey": "6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob",
"minScore": 0.7,
"pageAction": "myverify"
}
}
{
"errorId":0,
"taskId":407533072
}
https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKv…hKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}
const { chromium } = require('playwright');
const {
CapMonsterCloudClientFactory,
ClientOptions,
RecaptchaV3ProxylessRequest
} = require('@zennolab_com/capmonstercloud-client');
(async () => {
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta'; // Captcha içeren sayfanızın URL’si
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // CapMonster Cloud API anahtarınızı girin
// CapMonster istemcisi oluşturma
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Tarayıcıyı başlatma
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// reCAPTCHA v3 görevinin yapılandırılması
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // Sayfadaki action ile eşleşmesini sağlama
});
// Captcha’yı çözme
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Token alındı:', token);
// Token’ı gizli alana yerleştirip butona tıklamayı taklit etme
// Gerekli seçicilerle değiştirin
await page.evaluate((t) => {
const input = document.querySelector('#v3_token');
if (input) input.value = t;
const form = document.querySelector('#v3_form');
if (form) form.submit();
}, token);
console.log('Token yerleştirildi ve form gönderildi');
await page.waitForTimeout(5000);
await browser.close();
})();1. reCAPTCHA yönetim paneli sayfasına gidin.
2. Yeni bir site kaydedin ve captcha türü olarak reCAPTCHA v3’ü seçin

3. İki anahtar alın:

Ayarlar bölümünü açarak, örneğin reCAPTCHA’nın kullanılabileceği alan adlarını belirleyebilir veya siteyle ilgili sorunlar ya da şüpheli trafik artışı için bildirimler yapılandırabilirsiniz.
4. İstemci tarafı için kod örnekleri
reCAPTCHA v3 kullanmanın en basit yolu, JavaScript API’sini eklemek ve butona gerekli öznitelikleri (attribute) eklemektir.
API’yi ekleme:
<script src="https://www.google.com/recaptcha/api.js"></script>Form için geri çağırma (callback) fonksiyonu:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
reCAPTCHA özniteliklerine sahip buton:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Tam kontrol için render parametresiyle birlikte grecaptcha.execute kullanın:
Anahtar ile API’yi ekleme:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Programatik çağrı:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Doğrulama için token’ı sunucuya gönderin
});
});
}
</script>
Token’ı, doğrulama için hemen sunucuya göndermeniz gerekir.
Önemli notlar:
5. Ardından sunucu tarafında yanıtı doğrulayın
<?php
// reCAPTCHA v3 gizli anahtarınız (Secret Key)
$secret = 'YOUR_SECRET_KEY';
// Token’ı formdan alın
$token = $_POST['recaptcha-token'] ?? '';
// Token’ı doğrulamak için Google’a istek gönderin
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Başarı durumunu ve güven puanını kontrol edin
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Doğrulama başarılı";
} else {
http_response_code(403);
echo "Doğrulama başarısız";
}
?>
Notlar:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">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 v3 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 v3 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.