如何将 CSRF 保护与 WTForms 和 Pyramid 一起使用?
在烧瓶中,有一个 WTForms 模块可以处理这个问题。
在不创建以主逻辑和所有形式实现的意大利面条代码的情况下,有什么方法可以在 Pyramid 中实现这一点?
WTForms 中的 CSRF 保护由 class 的子类处理SecureForm
。您应该实现一个子类,SecureForm
它使用 Pyramid 的工具在用户会话中存储令牌并在验证请求随附令牌时获取令牌。
一个很好的实现是 Flask 的,在flask.ext.wtf.Form类中。这是一个小类,应该毫不费力地移植到 Pyramid。