使用 CSRF Token

herd 默认开启 CSRF check ,使用 koa 的 CSRF middleware 完成相关工作,详情请参考 https://github.com/koajs/csrf

如果需要关闭,请配置 csrf: { enable: false }

CSRF middleware 本身可以通过 Pampasfile.js 进行相关配置:{ middlewareOpts: { csrf: {...} } }

如果某些请求需要忽略 csrf check , 请配置:

{
  middlewareOpts: {
    csrf: {
      ignoreHeader: { platform: /ios|android/ }, // 根据 header ignore check
      ignorePath: /\/api\/pay/ // 根据 path ignore check
    },
  }
}

简单来说,可以通过 ctx.csrf 生成并获取一个 token ;并通过在 PUT 和 POST 请求的 query._csrf, body._csrf , header['x-csrf-token'], header['x-xsrf-token'] 的任意位置携带 token 来验证。

也可以调用 ctx.assertCSRF() 进行手动验证。

results matching ""

    No results matching ""