reCAPTCHA, oturum izleme, risk puanlama ve meydan okuma durumu yönetimi için çerezlere güvenir. Eksik veya yanlış işlenmiş çerezler, çözüm başarısızlıklarına, düşük puanlara ve tekrarlanan zorluklara neden olur. Bu kılavuz, reCAPTCHA'nın kullandığı tüm çerezleri, oturumların puanlamayı nasıl etkilediğini ve otomasyon için pratik çerez yönetimini kapsar.
Çerezler reCAPTCHA setleri ve kullanımları
reCAPTCHA'ya özel çerezler
| Çerez | Etki alanı | Amaç | Ömür boyu |
|---|---|---|---|
_GRECAPTCHA |
.google.com |
Siteler arası reCAPTCHA durumu | 6 ay |
rc::a |
Hedef site | Risk analizi verileri (tuval, fare davranışı karması) | Oturum |
rc::b |
Hedef site | Risk analizi verileri (davranışsal sinyaller) | Oturum |
rc::c |
Hedef site | Risk analizi verileri (zamanlama) | Oturum |
rc::d-15# |
Hedef site | Durumun kalıcılığına meydan okuyun | Oturum |
Google hesabı çerezleri (puanı etkiler)
| Çerez | Etki alanı | Amaç | Puan etkisi |
|---|---|---|---|
SID |
.google.com |
Google oturum kimliği | +0,1 ila +0,3 |
HSID |
.google.com |
Yalnızca HTTP oturum kimliği | Oturum güveninin bir parçası |
SSID |
.google.com |
Güvenli oturum kimliği | Oturum güveninin bir parçası |
NID |
.google.com |
Google tercihi/session | +0,05 ila +0,1 |
1P_JAR |
.google.com |
Google reklam kişiselleştirme | Küçük güven sinyali |
reCAPTCHA tarafından kullanılan üçüncü taraf çerezleri
| Çerez | Etki alanı | Amaç |
|---|---|---|
CONSENT |
.google.com |
Çerez izin durumu |
AEC |
.google.com |
Şifrelenmiş reklam çerezi |
SOCS |
.google.com |
Çerez izni ayarları |
Çerezler reCAPTCHA puanlamasını nasıl etkiler?
Yeni oturum (çerez yok)
New browser session, all cookies cleared
↓
reCAPTCHA JavaScript loads
↓
No _GRECAPTCHA → First-time visitor signal
No SID/HSID → No Google account trust
No rc:: cookies → No behavioral history
↓
Starting risk score: lower baseline (0.3-0.5 for v3)
↓
Behavioral analysis must compensate for lack of history
↓
Result: More likely to receive visible challenge (v2)
Lower score (v3)
Geri dönen oturum (çerezlerle)
Existing browser session with cookies
↓
reCAPTCHA JavaScript loads
↓
_GRECAPTCHA found → Returning visitor
SID/HSID found → Google account trust
rc:: cookies found → Previous behavioral data
↓
Starting risk score: higher baseline (0.5-0.7 for v3)
↓
Behavioral analysis reinforces cookie-based trust
↓
Result: More likely to auto-pass (v2)
Higher score (v3)
Otomasyonda çerez yönetimi
Strateji 1: Kalıcı kurabiye kavanozu
Oturum güveni oluşturmak için istekler arasında çerezleri koruyun:
import requests
import pickle
import os
class CookieManager:
"""Manage cookies for reCAPTCHA sessions."""
def __init__(self, cookie_file="cookies.pkl"):
self.cookie_file = cookie_file
self.session = requests.Session()
self.load_cookies()
def load_cookies(self):
"""Load cookies from disk if they exist."""
if os.path.exists(self.cookie_file):
with open(self.cookie_file, "rb") as f:
self.session.cookies = pickle.load(f)
def save_cookies(self):
"""Save cookies to disk for next session."""
with open(self.cookie_file, "wb") as f:
pickle.dump(self.session.cookies, f)
def visit_page(self, url):
"""Visit a page to collect cookies."""
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/120.0.0.0 Safari/537.36",
}
response = self.session.get(url, headers=headers, timeout=15)
self.save_cookies()
return response
def get_recaptcha_cookies(self):
"""Get cookies relevant to reCAPTCHA."""
relevant = {}
for cookie in self.session.cookies:
if cookie.name in ["_GRECAPTCHA", "SID", "HSID", "SSID", "NID"]:
relevant[cookie.name] = {
"value": cookie.value[:20] + "...",
"domain": cookie.domain,
"expires": cookie.expires,
}
if cookie.name.startswith("rc::"):
relevant[cookie.name] = {
"value": cookie.value[:20] + "...",
"domain": cookie.domain,
}
return relevant
# Usage
cm = CookieManager("recaptcha_session.pkl")
cm.visit_page("https://staging.example.com/qa-login") # Build cookies
print(cm.get_recaptcha_cookies())
Strateji 2: Selenium'da çerez iletme
from selenium import webdriver
import json
def setup_cookies(driver, cookie_file="selenium_cookies.json"):
"""Load and apply saved cookies to a Selenium session."""
if not os.path.exists(cookie_file):
return
with open(cookie_file, "r") as f:
cookies = json.load(f)
for cookie in cookies:
# Selenium requires the domain to match current page
try:
driver.add_cookie(cookie)
except Exception:
pass # Skip cookies for different domains
def save_cookies(driver, cookie_file="selenium_cookies.json"):
"""Save current cookies for future sessions."""
cookies = driver.get_cookies()
with open(cookie_file, "w") as f:
json.dump(cookies, f)
# Usage
driver = webdriver.Chrome()
driver.get("https://example.com")
setup_cookies(driver) # Apply saved cookies
driver.refresh() # Reload with cookies
# After CAPTCHA solving...
save_cookies(driver) # Save for next run
Strateji 3: Puppeteer'da çerez yönlendirme
const puppeteer = require("puppeteer");
const fs = require("fs");
async function manageCookies(page, cookieFile = "cookies.json") {
// Load cookies if file exists
if (fs.existsSync(cookieFile)) {
const cookies = JSON.parse(fs.readFileSync(cookieFile));
await page.setCookie(...cookies);
}
// Save cookies after page interaction
const saveCookies = async () => {
const cookies = await page.cookies();
fs.writeFileSync(cookieFile, JSON.stringify(cookies, null, 2));
};
return { saveCookies };
}
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
const { saveCookies } = await manageCookies(page);
await page.goto("https://staging.example.com/qa-login");
// ... solve CAPTCHA ...
await saveCookies();
await browser.close();
})();
API tabanlı çözüm için oturum gereksinimleri
CaptchaAI kullanıldığında, çözücü kendi ortamında belirteçler üretir. Hedef web sitesi, tarayıcınızın çerezlerini kontrol etmeden belirteci doğrular. Ancak bazı uygulamalar ekstra doğrulama ekler:
Standart reCAPTCHA (çoğu site)
Çerez yönlendirmeye gerek yok. CaptchaAI, yalnızca sitekey ve pageurl'yi kullanarak geçerli bir belirteç oluşturur:
import requests
import time
API_KEY = "YOUR_API_KEY"
# Standard solve — no cookies needed
submit = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://staging.example.com/qa-login",
"json": 1,
})
Çerez bağımlı uygulamalar
Bazı yüksek güvenlikli siteler, belirteci gönderen oturumun reCAPTCHA widget'ını yükleyen oturumla eşleştiğini doğrular. Bu durumlarda:
- Çerezleri oluşturmak için sayfayı gerçek bir tarayıcıya yükleyin
- Site anahtarını yüklenen sayfadan çıkarın
- Sitekey ve pageurl ile CaptchaAI'ye gönderin
- Döndürülen jetonu aynı tarayıcı oturumuna enjekte edin
- Formu tarayıcıdan gönderin (çerez zincirini koruyarak)
from selenium import webdriver
from selenium.webdriver.common.by import By
import requests
import time
API_KEY = "YOUR_API_KEY"
# Step 1: Load page in real browser (establishes cookies)
driver = webdriver.Chrome()
driver.get("https://secure-site.com/login")
# Step 2: Extract sitekey
widget = driver.find_element(By.CSS_SELECTOR, "[data-sitekey]")
sitekey = widget.get_attribute("data-sitekey")
# Step 3: Solve via CaptchaAI
submit = requests.post("https://ocr.captchaai.com/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": driver.current_url,
"json": 1,
})
task_id = submit.json()["request"]
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY,
"action": "get",
"id": task_id,
"json": 1,
}).json()
if result.get("status") == 1:
token = result["request"]
break
# Step 4: Inject token into browser session (same cookies)
driver.execute_script(
f'document.getElementById("g-recaptcha-response").value = "{token}";'
)
# Step 5: Submit form from same browser session
driver.find_element(By.CSS_SELECTOR, "form").submit()
Üçüncü taraf çerez engelleme etkisi
Chrome'un üçüncü taraf çerezlerinin kullanımdan kaldırılması
Chrome, üçüncü taraf çerezlerini aşamalı olarak kullanımdan kaldırıyor. _GRECAPTCHA, .google.com üzerinde ayarlandığından ve üçüncü taraf bağlamından okunduğundan bu, reCAPTCHA'yı etkiler.
Google'ın yanıtı:
- reCAPTCHA v3 ve Enterprise birinci taraf JavaScript yürütmesini kullanıyor
- Çerezler
Partitioned(CHIPS) depolama alanına geçiş yapıyor rc::çerezleri zaten birinci taraftır (hedef sitenin alan adında ayarlanmıştır)
Otomasyon üzerindeki etkisi:
- Minimal. CaptchaAI sunucu tarafında belirteçler oluşturduğundan API tabanlı çözüm etkilenmez.
- Tarayıcı tabanlı otomasyon, Google çerez stratejisini ayarlarken küçük puan değişiklikleri görebilir.
Çerez sorunlarını giderme
| Sorun | Sebep | Çözüm |
|---|---|---|
| reCAPTCHA v2 her zaman görüntü zorluğunu gösteriyor | Oturum çerezi yok, güven düşük | Çerezleri istekler arasında kalıcı kıl |
| reCAPTCHA v3 puanı her zaman < 0,3 | Her seferinde taze oturum | Kurabiye kavanozunun bakımını yapın |
| Jeton bir kez çalışır, ardından yeniden denemede başarısız olur | Oturum çerezi uyuşmazlığı | Sayfa yükleme ve gönderme için aynı oturumu kullanın |
| "Çerez/session doğrulaması başarısız oldu" | Site çerez zincirini kontrol eder | Tarayıcı tabanlı jeton eklemeyi kullanın |
| reCAPTCHA widget'ı yüklenmiyor | Üçüncü taraf çerezleri engellendi | google.com çerezlerine izin ver |
Sık sorulan sorular
Çerezleri CaptchaAI'ye aktarmam gerekiyor mu?
Hayır. CaptchaAI, kendi optimize edilmiş ortamında belirteçler oluşturur ve tarayıcınızın çerezlerine ihtiyaç duymaz. Yalnızca sitekey ve pageurl'yi sağlamanız gerekir. Oluşturulan jeton herhangi bir müşteriden gönderim için geçerlidir.
Çerezlerin süresi dolar mı ve yenilenmeleri gerekir mi?
Evet. _GRECAPTCHA 6 ay sürer ancak rc:: oturum çerezlerinin süresi tarayıcı kapatıldığında sona erer. Google hesabı çerezleri (SID, HSID) 2 yıl sürer ancak Google tarafından geçersiz kılınabilir. Otomasyon için çerezleri diskte tutun ve hedef siteyi ziyaret ederek bunları düzenli aralıklarla yenileyin.
Bir tarayıcıdaki çerezleri diğerinde kullanabilir miyim?
Evet, sınırlamalarla. Çerezler (JSON veya Netscape formatında) dışa aktarılabilir ve isteklere, Selenium veya Puppeteer oturumlarına aktarılabilir. Ancak, reCAPTCHA'nın algılayabileceği tarayıcı test profil yapılandırması farklı olacaktır. Çerezler bir güven bonusu sağlar, ancak yeni tarayıcı ortamı bunu dengeleyebilir.
Çerezleri temizlemek neden reCAPTCHA'yı zorlaştırıyor?
Çerezlerin temizlenmesi, _GRECAPTCHA güven çerezini ve rc:: davranış geçmişi çerezlerini kaldırır. reCAPTCHA, sizi geçmişi olmayan tamamen yeni bir ziyaretçi olarak ele alır ve risk puanını daha düşük bir temelde başlatır. Bu nedenle gizli/private tarama genellikle daha fazla CAPTCHA mücadelesini tetikler.
Özet
reCAPTCHA, oturum izleme (rc:: çerezleri), siteler arası güven (_GRECAPTCHA) ve Google hesabı bağlama (SID, HSID) için çerezleri kullanır. Çerez içermeyen yeni oturumlar daha düşük puanlar ve daha zor zorluklar üretir. API tabanlı çözüm içinCaptchaAI, çerezlere gerek yoktur; çözümleyici yalnızca site anahtarını ve sayfa URL'sini kullanarak geçerli belirteçler oluşturur. Çerez bağımlı uygulamalar için tarayıcı tabanlı bir yaklaşım kullanın: sayfayı yükleyin (çerezleri oluşturarak), CaptchaAI aracılığıyla çözün, belirteci enjekte edin ve aynı tarayıcı oturumundan gönderin.