
ERROR: The reCAPTCHA wasn't entered correctly. Please try again. (reCAPTCHA said: { "success": false, "error-codes": [ "invalid-input-response" ] })

晚上好🌙🌙🌙
本答案参考通义千问
遇到错误信息:
ERROR: The reCAPTCHA wasn't entered correctly. Please try again. (reCAPTCHA said: { "success": false, "error-codes": [ "invalid-input-response" ] })
说明 用户在前端输入的 reCAPTCHA 验证码与服务器验证不匹配,导致验证失败。以下是对该问题的详细分析和解决方案。
site key。<script> 标签正确加载了 reCAPTCHA 的 JS SDK。<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
重点: 确保
data-sitekey是你从 Google 控制台获取的有效 site key。
g-recaptcha-response 字段被正确填写。重点: 如果前端没有正确获取到 response token,后端将无法验证成功。
response token。import requests
def verify_recaptcha(response_token):
secret_key = 'YOUR_SECRET_KEY'
url = f'https://www.google.com/recaptcha/api/siteverify?secret={secret_key}&response={response_token}'
response = requests.post(url)
result = response.json()
return result.get('success', False)
重点: 确保后端接收到的
response是通过g-recaptcha-response获取的值。
site key 和 secret key 是正确的,并且对应的域名已添加。重点: 如果域名不一致(例如开发环境与生产环境),可能导致 reCAPTCHA 不工作。
response token,确认其是否为空或无效。<form id="my-form">
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
<button type="submit">Submit</button>
</form>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
@app.route('/submit', methods=['POST'])
def submit():
response_token = request.form.get('g-recaptcha-response')
if not response_token:
return jsonify({"error": "reCAPTCHA response missing"}), 400
secret_key = 'YOUR_SECRET_KEY'
url = f'https://www.google.com/recaptcha/api/siteverify?secret={secret_key}&response={response_token}'
res = requests.post(url)
data = res.json()
if data['success']:
return jsonify({"message": "Verification successful!"})
else:
return jsonify({"error": "reCAPTCHA verification failed"}), 400
if __name__ == '__main__':
app.run(debug=True)
| 问题 | 解决方案 | |------|----------| | reCAPTCHA 未正确加载 | 检查 HTML 和 JS 引用 | | 用户未完成验证 | 确保用户点击并完成验证 | | response token 丢失 | 检查前端是否正确获取 token | | site key / secret key 错误 | 检查 Google 控制台配置 | | 跨域/网络问题 | 检查 CORS 和防火墙设置 |
如需进一步帮助,请提供你的前端代码片段和后端逻辑,我可以帮你更具体地排查问题。