検索

ホームページ  >  に質問  >  本文

Axios リクエストが予期した Cookie ヘッダーを Django サーバーに送信しない

React アプリで Axios 投稿リクエストを使用して、Django サーバーにファイルをアップロードしようとしています。サーバーはリクエスト ヘッダーに CSRF Coo​​kie が含まれることを期待します。

このリクエストには、Cookie を設定するために見つけられるすべてのメソッドがすでに含まれています。 document.cookie を渡し、withCredential: true を設定し、Cookie ヘッダーを指定します。

これは私の Axios リクエストです:

リーリー

これは私の Django ビューです:

リーリー

また、関連する Django 設定が settings.py で正しく設定されていると思います:

リーリー

CSRF Coo​​kie がリクエスト ヘッダーに含まれていること、または CSRF 要件を満たしていることを確認するにはどうすればよいですか?確かに、ビューに @csrf_exempt を追加するとルートは機能するため、実際には CSRF の問題であるはずです。

P粉285587590P粉285587590274日前359

全員に返信(1)返信します

  • P粉463824410

    P粉4638244102024-03-29 10:02:40

    トークンを formData に含める必要があるだけです。ヘッダーや Cookie の操作は必要ありません:

    リーリー

    ヒント: Cookie やヘッダーなどが送信されているかどうか不明な場合は、ブラウザの開発者ツールの [ネットワーク] タブを確認してください。リクエストのリクエスト ヘッダー セクションにこれらのメッセージが表示される場合は、送信されており、サーバー側に問題があることを意味します。この場合、multipart/form-data の場合、Django はフォーム フィールドに csrfmiddlewaretoken トークンを必要とします。 application/json リクエストの場合は、XX-CSRFToken ヘッダーを使用できます。

    返事
    0
  • キャンセル返事