CSRF 防护
CSRF 防护中间件通过检查请求头来防止 CSRF 攻击。
此中间件通过比较 Origin
头部的值与请求的 URL,来防止使用表单元素提交的 CSRF 攻击。
不支持发送 Origin
头部的旧浏览器,或使用反向代理移除 Origin
头部的环境可能无法正常工作。 在此类环境中,请使用其他 CSRF 令牌方法。
导入
ts
import { Hono } from 'hono'
import { csrf } from 'hono/csrf'
用法
ts
const app = new Hono()
app.use(csrf())
// Specifying origins with using `origin` option
// string
app.use(csrf({ origin: 'myapp.example.com' }))
// string[]
app.use(
csrf({
origin: ['myapp.example.com', 'development.myapp.example.com'],
})
)
// Function
// It is strongly recommended that the protocol be verified to ensure a match to `$`.
// You should *never* do a forward match.
app.use(
'*',
csrf({
origin: (origin) =>
/https:\/\/(\w+\.)?myapp\.example\.com$/.test(origin),
})
)
选项
可选 origin: string
| string[]
| Function
指定来源。