2017-06-13 4 views
0

django.contrib.auth.views.login()を使用してユーザーログインを処理する運用環境で403応答が表示されています。 2回目のログインは、最初の403(その応答が発生した後)の後に成功します。django.contrib.auth.views.login()からの断続的な403応答

私は、csrfmiddlewaretoken(隠しフォームフィールド値)とcsrftoken(cookie値)が一致しないことを示すPOSTペイロードとCookie値をキャプチャして、403回のログイン失敗をすべてログに記録し始めました。これは断続的で、多くのユーザーに起こります。

次のデコレータは、すべてのプロキシにdjango.contrib.auth.views.login()関数で使用されているログイン機能に適用されます:かもしれない何

を@never_cache、@ensure_csrf_cookie、@sensitive_post_parameters、@csrf_protectをこの問題の原因は?

+1

おそらくそのページが長時間開かれていて、Cookieの有効期限が切れている可能性があります。 – vZ10

答えて

2

CSRF token is rotated after login

ログインページを1つのタブで開き、2番目のタブを使用してログインすると、元のタブにフォームを送信するとCSRFエラーが発生します。

+1

CSRFトークンのローテーションがこの特定の問題の原因であるかどうかはまだわかりませんが、投票が行われました。これについてユーザーに通知して警告して、これが原因であるかどうかをより確信したときにここで更新します。ありがとうございました! –

関連する問題