Skip to content

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

オリジンを指定します。

MIT ライセンスに基づいてリリースされました。