我正在尝试使用Flask-WTF的CSRFProtect
扩展名添加CSRF令牌保护。除了CSRF保护之外,该应用程序不使用WTForms。
我跟着the docs但是我得到“400 Bad Request缺少CSRF令牌”。
from flask_wtf.csrf import CSRFProtect
csrf = CSRFProtect(app)
我将以下内容放在模板中(带有表单或没有表单),但我得到了同样的错误。
<form method="post">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
</form>
答案 0 :(得分:0)
如this answer所述,检查实际的CSFR验证流程:
您可以在中调试验证
flask_wtf/csrf.py
函数中的validate_csrf()
文件。
对我来说,问题是由最近更新 Flask 和 Flask-WTF 引起的。我通过删除项目中的所有.pyc
文件解决了这个问题。但是,我不知道我的实际根本原因。
find . -name '*.pyc' -delete
稍后编辑:
SESSION_COOKIE_SECURE
未设置为True
。见this。