跳至內容

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

指定來源。

以 MIT 授權條款發佈。