... at CSRF attacks have been dealt with. (推奨されませんが) もし対策を無効にする場合は、 csrf_protect() を使って特定のビューを保護することができます (下記を参照してください)。 POST フォームを使う全てのテンプレートで、POST が内部 URL に使われる場合は、 <f ... たは contrib アプリを使用している場合は、これらはすべて RequestContext を使用しているため、すでに対応しています。 AJAXでCSRF保護を利用する ¶ 上記の方法は AJAX の POST でも利用可能ですが、多少不便です。すべての POST リクエストで、CSRF トークンを POST す ... 取得する ¶ トークン取得のソースとして推奨されるのは csrftoken クッキーです。これは、上記で概説したようにビューに対する CSRF 保護を有効化した場合にセットされます。 デフォルトでは、CSRF トークンの cookie は csrftoken という名前ですが、 CSRF_COOKIE_NAME の ... ... at CSRF attacks have been dealt with. (推奨されませんが) もし対策を無効にする場合は、 csrf_protect() を使って特定のビューを保護することができます (下記を参照してください)。 POST フォームを使う全てのテンプレートで、POST が内部 URL に使われる場合は、 <f ... たは contrib アプリを使用している場合は、これらはすべて RequestContext を使用しているため、すでに対応しています。 AJAXでCSRF保護を利用する ¶ 上記の方法は AJAX の POST でも利用可能ですが、多少不便です。すべての POST リクエストで、CSRF トークンを POST す ... 取得する ¶ トークン取得のソースとして推奨されるのは csrftoken クッキーです。これは、上記で概説したようにビューに対する CSRF 保護を有効化した場合にセットされます。 デフォルトでは、CSRF トークンの cookie は csrftoken という名前ですが、 CSRF_COOKIE_NAME の ... ... ーザーに送信する「アカウントの回復」URLの生成。 非表示のフォームフィールドに保存されたデータが改ざんされていないことの確認。 保護されたリソースへの一時的なアクセスを許可するためのワンタイムシークレットURLの生成。例えばユーザーが料金を支払ったダウンロード ... 可能なファイルなど。 SECRET_KEY と SECRET_KEY_FALLBACKS の保護 ¶ startproject によって新しいプロジェクトを作る際、 settings.py が生成され、ランダムな SECRET_KEY を得ます。この値が、署名 ... ます。 >>> signed = signer . sign ( 2.5 ) >>> original = signer . unsign ( signed ) >>> original '2.5' リスト、タプル、辞書を保護したい場合は 、 sign_object() と unsign_object() メソッドを使います。 >>> signed_obj = signer . sign_object ({ "message" : " ... ... ーザーに送信する「アカウントの回復」URLの生成。 非表示のフォームフィールドに保存されたデータが改ざんされていないことの確認。 保護されたリソースへの一時的なアクセスを許可するためのワンタイムシークレットURLの生成。例えばユーザーが料金を支払ったダウンロード ... 可能なファイルなど。 SECRET_KEY と SECRET_KEY_FALLBACKS の保護 ¶ startproject によって新しいプロジェクトを作る際、 settings.py が生成され、ランダムな SECRET_KEY を得ます。この値が、署名 ... ます。 >>> signed = signer . sign ( 2.5 ) >>> original = signer . unsign ( signed ) >>> original '2.5' リスト、タプル、辞書を保護したい場合は 、 sign_object() と unsign_object() メソッドを使います。 >>> signed_obj = signer . sign_object ({ "message" : " ... ... り除くというものです。そして、 POST、PUT、DELETE のような、'安全でない' メソッドによるリクエストについては、 Django の CSRF 保護を利用する で説明されている手順で保護できます。 しくみ ¶ CSRF対策は以下のようなことを基本としています: 他のサイトがアクセスで ... れた場合、現在のホストと CSRF_TRUSTED_ORIGINS 設定に対して Origin header を検証します。これにより、クロスサブドメイン攻撃から保護されます。 さらに、HTTPS リクエストの場合、 Origin ヘッダーが提供されない場合には、 CsrfViewMiddleware は厳密なリファラチェッ ... ストを使用した CSRF 攻撃は無害であるべきです。 RFC 9110 Section 9.2.1 は POST、PUT、DELETE を「安全でない」と定義し、最大限の保護のためには、他のすべてのメソッドも安全でないとみなされます。 CSRF保護は中間者攻撃に対して保護することはできませんので、 HTTP ... ... り除くというものです。そして、 POST、PUT、DELETE のような、'安全でない' メソッドによるリクエストについては、 Django の CSRF 保護を利用する で説明されている手順で保護できます。 しくみ ¶ CSRF対策は以下のようなことを基本としています: 他のサイトがアクセスで ... れた場合、現在のホストと CSRF_TRUSTED_ORIGINS 設定に対して Origin header を検証します。これにより、クロスサブドメイン攻撃から保護されます。 さらに、HTTPS リクエストの場合、 Origin ヘッダーが提供されない場合には、 CsrfViewMiddleware は厳密なリファラチェッ ... ストを使用した CSRF 攻撃は無害であるべきです。 RFC 9110 Section 9.2.1 は POST、PUT、DELETE を「安全でない」と定義し、最大限の保護のためには、他のすべてのメソッドも安全でないとみなされます。 CSRF保護は中間者攻撃に対して保護することはできませんので、 HTTP ... ... 結果、疑いのないユーザーが騙されてターゲットのサイトに対して意図しない操作を行ってしまいます。 Djangoは クリックジャッキング保護 の仕組みを X-Frame-Options ミドルウェア で提供しています。サポートしているブラウザではサイトをフレーム内で描画しないように ... します。この保護はビュー単位で無効化できます。あるいは、固定的にヘッダーの値を送信できます。 サードパーティのサイト上でページをフレーム内に表 ... み見たり、場合によっては、 積極的な ネットワーク攻撃者がどちらの方向でもデータ書き換えが可能になってしまいます。 HTTPS による保護をサーバー上で有効にするためには、多少の追加作業が必要になります: 必要な場合は、関連する注意点を完全に理解した上で、 SECURE_ ... ... 結果、疑いのないユーザーが騙されてターゲットのサイトに対して意図しない操作を行ってしまいます。 Djangoは クリックジャッキング保護 の仕組みを X-Frame-Options ミドルウェア で提供しています。サポートしているブラウザではサイトをフレーム内で描画しないように ... します。この保護はビュー単位で無効化できます。あるいは、固定的にヘッダーの値を送信できます。 サードパーティのサイト上でページをフレーム内に表 ... み見たり、場合によっては、 積極的な ネットワーク攻撃者がどちらの方向でもデータ書き換えが可能になってしまいます。 HTTPS による保護をサーバー上で有効にするためには、多少の追加作業が必要になります: 必要な場合は、関連する注意点を完全に理解した上で、 SECURE_ ... ... き、 ALLOWED_HOSTS が適切に設定されない限り Django は一切動作しません。 この設定は、いくつかの CSRF 攻撃からあなたのサイトを保護するために必要です。もしワイルドカードを使用した場合、 Host HTTP のバリデーションを自分自身で行う必要があります。さもなければ ... メータは、開発環境と本番環境でおそらく異なります。 データベースパスワードは非常に機密的なものです。 SECRET_KEY と同様の方法で保護してください。 セキュリティを最大限に確保するためには、データベースサーバーがアプリケーションサーバーからの接続のみを許可する ... ード、セッションクッキー、パスワードリセットトークンを含みます。(パスワードリセットトークンを E メール送信する場合、それほど保護されてはいません。) ユーザーアカウントや admin などの機密性の高いエリアを保護するだけでは不十分です。なぜなら、HTTP と HTTPS ... ... き、 ALLOWED_HOSTS が適切に設定されない限り Django は一切動作しません。 この設定は、いくつかの CSRF 攻撃からあなたのサイトを保護するために必要です。もしワイルドカードを使用した場合、 Host HTTP のバリデーションを自分自身で行う必要があります。さもなければ ... メータは、開発環境と本番環境でおそらく異なります。 データベースパスワードは非常に機密的なものです。 SECRET_KEY と同様の方法で保護してください。 セキュリティを最大限に確保するためには、データベースサーバーがアプリケーションサーバーからの接続のみを許可する ... ード、セッションクッキー、パスワードリセットトークンを含みます。(パスワードリセットトークンを E メール送信する場合、それほど保護されてはいません。) ユーザーアカウントや admin などの機密性の高いエリアを保護するだけでは不十分です。なぜなら、HTTP と HTTPS ... 2026年10月08日