node.js - KeystoneJS CSRF 在自己的页面上

标签 node.js csrf keystonejs

我正在寻找一种简单的方法来设置 CSRF token 并在每个 POST/PUT/... 请求上检查它。

AdminUI 中已经有一个机制。这可以在“普通”网页上使用吗?

我知道 keystone.security.csrf.middleware.initkeystone.security.csrf.middleware.validate 函数。但是在哪里打电话最好呢?

提前非常感谢! 丹尼尔

编辑: 我尝试过使用

keystone.pre('路由', keystone.security.csrf.middleware.init); keystone.pre('routes', keystone.security.csrf.middleware.validate);

在我的路线文件中。 token 设置在我的 cookie 中。当我请求服务器时,cookie也会被传输。 但验证方法告诉我:“ token 不匹配”。也许我有一个概念上的误解。我想,这可以开箱即用。我错过了什么?

编辑2: 我会将 token 添加到我的表单中。我错过了这一步...

最佳答案

你可以将它作为一个普通的中间件来调用,只需在你的routes/index.js文件中定义它即可:

keystone.pre('routes', keystone.security.csrf.middleware.init);

关于node.js - KeystoneJS CSRF 在自己的页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37511830/

相关文章:

node.js - 将node_modules复制到离线计算机

node.js - 如何在Next Js中以表单数据发送文件?

asp.net-mvc - 防止 PUT 和删除请求的 CSRF 攻击 ASP.NET Web API

security - 一次性csrf token的优点

javascript securty : an AJAX call to record the user's screen resolution, 是否可以防止假号码?

keystonejs - Keystonejs 列表对象的未定义 'model' 属性

javascript - 如何将自定义插件添加到 KeystoneJS 管理 UI 中?

javascript - 使用 Ed25519 KeyPair 对 JWS(json web 签名)进行签名和验证

node.js - 映射警告时 react 唯一键

keystonejs - 设置 API 端点以与 Keystone 一起使用的正确方法是什么?