1

Django の CSRF 保護の詳細については、少しあいまいです。実装は簡単ですが、CSRF トークンはセッションに依存しないようにする必要があるという印象を受けました。そのため、ユーザーがログアウトし、他の誰かが (おそらく同じマシンで) ログインすると、CSRF トークンが変更されます。

ただし、Chrome 開発者ツールを通じて、Cookie の CSRF トークンが 1 年間有効であり、変更されないことに気付きました (もちろん、削除しない限り、再生成されます)。これは、Cookie の CSRF トークンがさまざまなユーザー セッションを通じて持続することを意味します。

ここに脆弱性はありますか? 何かを間違って実装しましたか? それとも、これは意図されたものであり、保護がどのように機能するかを見逃しているだけですか?

4

1 に答える 1

2

問題がないことがわかりました。Django はそれをすべて非常にうまく処理します。機能しなかったのはベータ版でした/この機能が無効になっていました。トークンはユーザー セッションを通じて永続化されましたが、これはベータ版でプロジェクトを実行していたことが原因でした。リリース バージョンでは、すべてが適切に保護されています。

于 2013-11-07T21:49:03.070 に答える