import logging import requests import config def verify_recaptcha(response): """Verifiziert die reCAPTCHA v2 Response mit Google""" secret_key = config.RECAPTCHA_SECRET_KEY # Wenn kein Secret Key konfiguriert ist, CAPTCHA als bestanden werten (für PoC) if not secret_key: logging.warning("RECAPTCHA_SECRET_KEY nicht konfiguriert - CAPTCHA wird übersprungen") return True # Verifizierung bei Google try: verify_url = 'https://www.google.com/recaptcha/api/siteverify' data = { 'secret': secret_key, 'response': response } # Timeout für Request setzen r = requests.post(verify_url, data=data, timeout=5) result = r.json() # Log für Debugging if not result.get('success'): logging.warning(f"reCAPTCHA Validierung fehlgeschlagen: {result.get('error-codes', [])}") return result.get('success', False) except requests.exceptions.RequestException as e: logging.error(f"reCAPTCHA Verifizierung fehlgeschlagen: {str(e)}") # Bei Netzwerkfehlern CAPTCHA als bestanden werten return True except Exception as e: logging.error(f"Unerwarteter Fehler bei reCAPTCHA: {str(e)}") return False