美文网首页
flask: The CSRF token is missing

flask: The CSRF token is missing

作者: 安森老叔叔 | 来源:发表于2020-03-13 00:39 被阅读0次
    image.png

    flask_wtf 对 wtforms 进行了封装,增加了 csrf 验证

    from flask_wtf import Form
    from wtforms import Form
    

    superset登录接口默认使用用前者进行csrf鉴权,

    form.validate_on_submit()
    

    如果csrf功能开启,validate会先验证csrf,通过后到验证器。
    但可以在config文件中将不需要鉴权的endpoit加入到 WTF_CSRF_EXEMPT_LIST 字段中,表单

    WTF_CSRF_EXEMPT_LIST = ["superset.views.core.log"]
    

    查看app.py中有以下方法:

     def configure_wtf(self):
          if self.config["WTF_CSRF_ENABLED"]:
                csrf = CSRFProtect(self.flask_app)
                csrf_exempt_list = self.config["WTF_CSRF_EXEMPT_LIST"]
                for ex in csrf_exempt_list:
                    csrf.exempt(ex)
    

    exempt是csrf的装饰器关键词,详细可以在这个链接了解:https://blog.csdn.net/qq_39112101/article/details/98890990

    flask_wtf的form.py下有大量csrf相关的实现。

    相关文章

      网友评论

          本文标题:flask: The CSRF token is missing

          本文链接:https://www.haomeiwen.com/subject/fxuejhtx.html