Axios リクエストが予期した Cookie ヘッダーを Django サーバーに送信しない
P粉285587590
P粉285587590 2024-03-28 11:18:33
0
1
381

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粉285587590
P粉285587590

全員に返信(1)
P粉463824410

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

リーリー

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート