web-dev-qa-db-ja.com

郵便配達員とCORS

この主題は数回尋ねられましたが、私はまだ何かを理解していません:

についての答えを読んだとき

「Access-Control-Allow-Origin」ヘッダーなし

問題は、クロスドメインを許可するために、リクエストされたサーバーで設定を行う必要があると言っています:add_header 'Access-Control-Allow-Origin' '*';

しかし、郵便配達人(クライアント)から尋ねるとき、なぜそれが魅力のように機能していて、要求されたサーバーから応答があるのか​​教えてください。

ありがとうございました

54
IsraGab

@Musaがコメントしているように、その理由は次のように思われます。

PostmanはSOPを気にせず、ブラウザではなく開発ツールです

ちなみに、ブラウザ上で動作させるために chrome extension があります(これはchrome用ですが、FFまたはSafariのいずれかを見つけることができます)。

Cross-Originと拡張機能で機能する理由について詳しく知りたい場合は、 here を確認してください。

33
IsraGab

Webサイトを使用して、情報(社会保障番号など)を送信するフォームに入力する場合、送信先と思われるサイトに情報が送信されていることを確認する必要があります。そのため、ブラウザは、デフォルトで「アクセスしているドメイン以外のドメインに情報を送信しないでください」と言うように構築されています。

最終的には制限が厳しすぎましたが、デフォルトのアイデアはまだブラウザーに残っています。 Webページが別のドメインに情報を送信しないようにします。ただし、これはすべてブラウザのチェックです。 Chromeやfirefoxなどには、「このリクエストを送信する前に、目的地が訪問中のページと一致することを確認する」というコードが組み込まれています。

Postman(またはcmd行のCURL)には、組み込みのチェックがありません。サイトと手動でやり取りしているため、送信するものを完全に制御できます。

21
user3724317

SOPは、クライアントが強制するかどうかを決定するサーバー側の構成です。ほとんどのブラウザは、CSRFに関連する問題を防ぐために強制します。ほとんどの開発者ツールはそれを気にしません。

6
Felipe Roos