CSRF验证失败时,将引发CSRFError。
但我没有收到异常。
我在这样的表单中使用Flask-WTF:
class MyForm(FlaskForm):
...
在我的处理程序中,我这样做:
my_form = MyForm()
if my_form.validate_on_submit():
...
我希望在validate_on_submit
内部引发异常,但是validate_on_submit
只会返回False。
请注意,我没有这样做:
from flask_wtf.csrf import CSRFProtect
csrf = CSRFProtect(app)
因为我的理解是,如果您的表格来自FlaskForm
,则不需要。
我在做什么错了?
答案 0 :(得分:1)
Searching through the flask-wtf repo for CSRFError,如果您确实使用过
,似乎只有它才真正被提出from flask_wtf.csrf import CSRFProtect
csrf = CSRFProtect(app)
您提到的模式。它仅由_error_response
函数调用的csrf.py中的protect
引发。相反,例如,当令牌无效时,validate_csrf
会引发ValidationError
。