-
1:ID:hw2JM3 · 2018-06-02

json等でデータを返すAPIがあったとして、
jsからXMLHttpRequestからアクセスすると、同一生成元ポリシーで弾かれるのに、
例えばcURLなどでhttpリクエストからだと弾かれないのはどうしてでしょうか?

XMLHttpRequestだと悪用可能だが、
cURLからのhttp通信だと悪用できないということでしょうか?

web制作を勉強中の素人質問ですが、よろしくお願いいたします。

4 件の回答

2:ID:qJf2n0 · 2018-06-02

まずリクエストヘッダやリクエストの中身全部比較してる?
おそらく違うはず。
素人なら思い込みはせず、理解してること、してないところ分離して明確にしないと前に進まないよ?

3:ID:aFWVEq · 2018-06-02

JavaScript の xhr はブラウザで、PHP の cURL はサーバサイドで動作してる。その違い。

4:ID: · 2018-06-02

回答ありがとうございます。

〉 xhr はブラウザで、PHP の cURL はサーバサイドで動作してる

こちらは理解できるのですが、xhrには「同一生成元ポリシー」という制約があるのに対し、
サーバーサイドでは制約がないのはどうしてだろう?と疑問に思い質問させていただきました。

5:ID:aFWVEq · 2018-06-02

Re:4
ブラウザには投稿フォームからスクリプトを書き込む、いわゆる XSS がある。これはシロウトが甘々な投稿フォームスクリプトを書いてしまう事で、簡単にセキュリティホールになりうる。対してPHPなどのサーバサイドのスクリプトを書き換えるには、サーバそのものに侵入せねばならず、悪意のあるプログラムを埋め込もうにもハードルが高い。その違いだろう。そもそも cURL も禁止してしまうという事はブラウザでのアクセスも禁止するという事になるので、Webそのものが成り立たなくなる。

コメントの受付は終了しました。

一緒に読まれている質問

ページ上部に戻る