1

アプリケーションでファイルをアップロードしようとしています。閲覧データを空にするか、何らかの方法でセッションを終了してから、アップロードをクリックします。ファイルシステムからファイルを選択すると、Django のサーバーから禁止 (403) エラーが発生します。csrf.py のコードが実行されます。

if not constant_time_compare(request_csrf_token, csrf_token):
                logger.warning('Forbidden (%s): %s',
                               REASON_BAD_TOKEN, request.path,
                    extra={
                        'status_code': 403,
                        'request': request,
                    }
                )
                return self._reject(request, REASON_BAD_TOKEN)

Djangoのコードを変更したくないので、403ではなく401をユーザーに提示するにはどうすればよいですか。サーバーから403をキャプチャして、Javascriptで401に変更したくありません。他の解決策はありますか?? ありがとう

4

1 に答える 1

1

このCSRF_FAILURE_VIEW設定により、CSRFの失敗に対する独自のビューを作成できます。HTTPステータス401を返すものを書くことができます。

于 2012-12-15T00:26:14.023 に答える