ReCaptcha v3 funktioniert lokal, aber nicht in der BereitstellungHTML

HTML-Programmierer
Guest
 ReCaptcha v3 funktioniert lokal, aber nicht in der Bereitstellung

Post by Guest »

Hier ist die Situation:
Ich arbeite an dem Portfolio-Projekt und möchte ein ReCAPTCHA implementieren, das meine Kontaktinformationen verbirgt, damit ich nicht mit Spam überflutet werde. Ich habe es auf localhost ordnungsgemäß funktionieren lassen, aber wenn ich es irgendwo in Python bereitstelle, funktioniert es nicht. Ich habe:
  • sichergestellt, dass die Umgebungsvariable, die den geheimen Schlüssel enthält, korrekt ist und korrekt darauf zugegriffen wird
  • manuell getestet mit Curl mit meinem geheimen Schlüssel und einem beim Laden der Site generierten Token (was erfolgreich war)
  • stellte sicher, dass der in index.html gespeicherte Site-Schlüssel korrekt ist
    < li>bestätigt, dass die Domain für die Schlüssel auf der Whitelist steht
Möglicherweise Erwähnenswert ist auch, dass ich es ursprünglich richtig zum Laufen gebracht habe, als ich den geheimen Schlüssel hart codiert und auf GitHub veröffentlicht habe (dumm, ich weiß). Ich habe eine E-Mail erhalten, die mich vor meinem Fehler warnt, also habe ich die Schlüssel gedreht, was mich zu der Stelle bringt, an der ich derzeit feststecke.
Ich habe Codeausschnitte der relevanten Teile angehängt. Für jede Hilfe wäre ich sehr dankbar!
In index.html:

Code: Select all

My Portfolio





Code: Select all

grecaptcha.ready(async function () {
const token = await grecaptcha.execute('', { action: 'contact_info' });

// Verify the reCAPTCHA token with the server
const response = await fetch('/verify_recaptcha', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ token: token })
});

const result = await response.json();
if (result.success && result.score > 0.5) {
document.getElementById('contact-info').style.display = 'block';
} else {
console.error('Failed reCAPTCHA verification');
}
});

Und von server.py:

Code: Select all

@app.route('/verify_recaptcha', methods=['POST'])
def verify_recaptcha():
try:
data = request.json  # Expecting JSON payload
token = data.get('token')

# Send the token to Google's verification API
verify_url = 'https://www.google.com/recaptcha/api/siteverify'
payload = {'secret': secret_key, 'response': token}
response = requests.post(verify_url, data=payload)
result = response.json()

# Add additional logging for debugging
print(f"reCAPTCHA verification result: {result}")

return jsonify({
'success': result.get('success', False),
'score': result.get('score', 0),
'action': result.get('action', ''),
}), 200
except Exception as e:
print(f"Error during reCAPTCHA verification: {e}")
return jsonify({'success': False, 'error': 'Internal server error'}), 500

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post