代码之家  ›  专栏  ›  技术社区  ›  creeser

wtf仅在提交令牌时进行验证,不提交字段

  •  0
  • creeser  · 技术社区  · 7 年前

    我使用Flask WTF及其令牌来防止跨站点攻击。我的页面可以由许多字段组成,其中一些字段不相关,也不包含帖子上的用户数据。我对各个字段有单独的表单提交,但Flask会验证整个页面上的所有字段,而不仅仅是表单提交中的字段。 Flask中是否有一个函数只验证提交时的令牌,而不是整个页面上的所有字段,因为在验证后,重定向回页面将直观地错误显示不相关的字段。

    我知道我可以在发布前使用脚本来禁用不相关的字段,但这种方法似乎太过分了。

    谢谢 悬崖

    1 回复  |  直到 7 年前
        1
  •  1
  •   Attack68    7 年前

    你可以使用 Optional validator,因此空字段不会返回错误,因为它们不是必需的。

    您还可以连接到验证过程中,编写自己的脚本,如以下代码段 http://flask.pocoo.org/snippets/64/

    根据页面上提交的表单,可以使用“定义多个表单”,这些表单引用页面上的不同字段。

    您可以使用此处定义的pre_validate函数 http://wtforms.readthedocs.io/en/latest/fields.html#the-field-base-class ,虽然我自己没用过。

    推荐文章