×
サイバー攻撃について
  1. 状態を変更する処理をGETで実行しない

  2. DjangoのCsrfViewMiddlewareを有効にする

  3. HTMLフォームに{% csrf_token %}を入れる

  4. JavaScriptから送信する場合はX-CSRFTokenヘッダーを付ける

  5. セッションCookieとCSRF CookieにSecureと適切なSameSiteを設定する

  6. OriginおよびRefererの検証を無効化しない

  7. CSRF_TRUSTED_ORIGINSを必要最小限にする

  8. XSS、サブドメイン、CORS、OAuth、WebSocketも一緒に確認する

  9. 送金や認証情報変更では再認証やワンタイム確認を追加する

  10. Djangoをセキュリティサポート中のバージョンへ更新する

DjangoではCSRF防御が標準で有効です。独自実装へ置き換えるより、標準機能を正しく使う方が安全です。

2026年7月29日時点では、Django 6.0系と5.2 LTS系にセキュリティ更新が提供されており、2026年7月7日にDjango 6.0.7と5.2.16が公開されています。Django 4.2は2026年4月に延長サポートが終了しました。CSRF対策だけでなく、今後の脆弱性修正を受け取るためにも、4.2系を使っている環境は5.2 LTS以降への移行が必要です。


この記事で分かること