5

これを読んだ後: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-to-use-it

これを登録しているページを使用している人物を信頼する場合を除いて、これを使用することは有効ではないという結論に達しました。これは正しいです?

次のステートメントのために、いつこれを使用しても安全なのか、私は本当に理解していないと思います:

これは、外部 URL をターゲットとする POST フォームに対しては実行しないでください。これにより、CSRF トークンが漏洩し、脆弱性につながる可能性があります。

紛らわしい理由は次のとおりです。私にとって「外部 URL」とは、私のドメインの一部ではないページのことです (つまり、私は www.example.com を所有しており、www.spamfoo.com に投稿するフォームを配置しています。これは明らかに当てはまりません)。他の人の Web サイトに投稿するフォームを生成するために Django を使用することはありませんが、公開フォーム (ログイン フォームなど) で CSRF 保護を使用できないというのはどうしてでしょうか?

4

1 に答える 1

0

あなたの混乱の特定の原因を理解していないことをお詫びします.あなたが尋ねるべき質問は、いつCSRF保護を使用しないかということです. ドキュメントからこのケースをすでに呼び出しています。

これは、外部 URL を対象とする POST フォームに対しては行わないでください。CSRF トークンが漏洩し、脆弱性が発生する可能性があるためです。

ドメインにフォームを投稿する場合は、CSRF 保護を無効にする特別な理由がない限り、デフォルトで CSRF 保護を有効にする必要があります (これはまれなケースです)。

于 2010-03-12T01:44:48.027 に答える