Django 3.xから4.xへの更新でPOSTリクエスト時にCSRF検証に失敗する
想定: 3.xで動いていたフォーム送信が4.xへの更新でCSRF検証に失敗するために動かなくなった
settings.py
にCSRF_TRUSTED_ORIGINS
を追加すればよい。
- https://docs.djangoproject.com/en/4.0/ref/settings/#std-setting-CSRF_TRUSTED_ORIGINS
- Origin: e.g.
https://example.com
CSRF検証のドキュメントを3.xと比べると、以下の記述が増えている。
CsrfViewMiddleware verifies the Origin header, if provided by the browser, against the current host and the CSRF_TRUSTED_ORIGINS setting. This provides protection against cross-subdomain attacks.