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),
})
)
オプション
optional origin: string
| string[]
| Function
オリジンを指定します。