首页 > 解决方案 > 在烧瓶中使用 recaptcha 时输入密码无效

问题描述

我有一个烧瓶应用程序,我想在其中使用 recapchta 来发送电子邮件。

到目前为止,我已经完成了所有工作,并且似乎一切正常,但是当我在 localhost 上测试应用程序时,我收到一个错误代码作为 JSON 响应。

这是错误代码:

('JSON: ', {u'error-codes': [u'invalid-input-secret'], u'success': False})

所以我检查了密码是否正确写入,我什至尝试删除它,并制作一个新的。但我怀疑两者都不起作用,我可能会在我的代码中编写它

笔记!我没有使用 WTForms(因为它不是登录,只是一个简单的邮件 API)。

这是我编写配置的方式:

app.config.update({'RECAPTCHA_ENABLED': True,
               'RECAPTCHA_SITE_KEY':
                   '6Ldj2GcUAAAAAA7MuBOKsDRIk1fMLvNaGBtrB7Du',
               'RECAPTCHA_SECRET_KEY':
                   '(secret key is written here correctly)'})

有谁知道为什么我不断收到这个错误?

我应该将密钥放在 config.py 文件中吗?

标签: pythonflask

解决方案


好的,所以我找到了一种让它工作的方法,但我认为这不是最佳解决方案(非常欢迎评论或其他答案),我将我的密钥直接放在这样的方法中:

    r = requests.post('https://www.google.com/recaptcha/api/siteverify',
                      data = {'secret' :
                              'secret-key inserted here directly',
                              'response' :
                              request.form['g-recaptcha-response']})
google_response = json.loads(r.text)
print('JSON: ', google_response)

我认为这可能不是出于安全原因的最佳原因,我认为它应该首先存储为变量,但是,我尝试了一些不同的配置,但它不起作用。


推荐阅读