ReCaptcha v3 работает локально, но не при развертывании.Html

Программисты Html
Ответить
Anonymous
 ReCaptcha v3 работает локально, но не при развертывании.

Сообщение Anonymous »

Вот ситуация:
Я работаю над проектом портфолио и хочу внедрить ReCAPTCHA, которая скроет мою контактную информацию, чтобы меня не завалило спамом. У меня он работает правильно на локальном хосте, но при развертывании на Pythonanywhere он не работает. Я:
  • убедился, что переменная среды, содержащая секретный ключ, верна и доступна правильно
  • проверено вручную с помощью curl с моим секретным ключом и токеном, сгенерированным при загрузке сайта (которая прошла успешно)
  • убедился, что ключ сайта, хранящийся в index.html, верен
    < li>проверил, что домен внесен в белый список для ключей
Это Также стоит отметить, что изначально он работал правильно, когда я жестко запрограммировал секретный ключ и опубликовал его на GitHub (глупо, я знаю). Я получил электронное письмо с предупреждением о моей ошибке, поэтому я поменял клавиши, что привело меня туда, где я сейчас застрял.
Я прикрепил фрагменты кода соответствующих фрагментов. Будем очень признательны за любую помощь!
В index.html:

My Portfolio







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');
}
});


И из server.py:
@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


Подробнее здесь: https://stackoverflow.com/questions/793 ... deployment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»