このポリシーはなぜ作成されましたか?これには欠点があると私には思えます。必要に応じて、別のドメイン(JSONPなど)にアクセスする方法があります。そのような方針がなかったら誰のためにもずっと簡単ではないでしょうか?
しかし、私はそれを作成した人はスマートで、彼らは理由のためにそれをしたと思います。私はこの理由を知りたいです。Ajaxで同じ発信元ポリシーを実行する理由は何ですか?
答えて
セキュリティ。
あなたのサイトがユーザーからの入力を受け入れていない場合、私は悪いことをする可能性があります。たとえば、自分のサイトに入力したテキストにjavascriptを挿入して、自分のドメインにajaxを呼び出すことができます。誰かが私の入力を見たとき(あなたの質問を見るときのように)、そのJavaScriptが実行されます。あなたのウェブサイトが私のインスペクタでどのように働いているかを見て、あなたの意見にオブザーバーを加えて、ユーザーのデータを盗むことができました。
発信元ポリシーが同じであれば、自分のデータをajax経由で自分のドメインに送信できなくなります。それがどれほど簡単かを確認するには、シンプルなウェブサイトをお持ちの場合は、フォームのいずれかに以下を入力してデータを送信してください。
javascript:alert(document.cookie);
あなたは(あなたのフレームワークが自動的にあります)そのことについて何かをする手順を取らない場合、私はちょうどあなたのサイトにJavaScriptを注入して、誰かがそれを見たとき、それが実行されます。 (それは、javascriptを注入と呼ばれています)
今、私は少しより創造持って、いくつかのAjaxコードを追加想像....
ようなことを防ぐためにを必要とする、またはウェブを使用してデジタル自殺だろうブラウザは、 。
同一生成元ポリシーは、主が、前述したようにクロスサイトリクエストフォージェリ(CSRF)を阻害するクロスサイトスクリプティング(XSS)から守るためのものではないです。
悪意のあるサイトは、他のホストによって明示的に許可されていない限り、他のサイトからデータを読み込むことはできません。
など。私がwww.malicious.comをブラウズすると、www.mybank.comで同時に認証されたセッションにアクセスできず、銀行のAJAXインターフェイスからデータの一部を要求し、ブラウザを使用してmalicious.comに送信することはできません。リレー。
この制限を意図された目的や公開情報として迂回するために、最新のブラウザでは、クロスソースリソース共有(CORS)プロトコルが実装されています。
クロスサイトリクエストは許可されていますが、ブラウザがこのような場合にセッションデータを送信しない場合はどうなりますか? Malicious.comは誰でもアクセスできるようにmybank.comにアクセスできました。 – PawelRoman
- 1. Symfony Ajax同じ発信元ポリシー
- 2. 同じ発信元ポリシーの脅威モデルは何ですか?
- 3. クロスサイトスクリプティング攻撃と同じ発信元ポリシー
- 4. サブドメインと同じ発信元ポリシー
- 5. Android Chromeで同じ発信元ポリシーを無効にする
- 6. Javascriptの「同じ発信元ポリシー」の違反を表示する
- 7. はPUTをPhilips Hueに送信できません(同じ発信元ポリシー)
- 8. 実行中に物理アドレスが同じ理由は何ですか?
- 9. GWT SSL + Jetty +同じ発信元ポリシー=混乱
- 10. IFrameと同じ発信元ポリシーの変更
- 11. 発信元ポリシーに関して、postMessage()とdispatchEvent()の違いは何ですか?
- 12. 同じ起点ポリシーでサーバサイドコードを実行することはできますか?
- 13. 返されるデータが同じ理由は何ですか?
- 14. がERR_CONNECTION_REFUSEDを発行する理由は何ですか?
- 15. CordovaまたはPhonegapのHttpリクエストと同じ発信元ポリシーの問題
- 16. ByteBuffers hashCodesが同じ理由は何ですか?
- 17. 同じドメインで同一生成元ポリシーに、しかし、HTTPS
- 18. エラー:制限付きURIへのアクセスが拒否されました - 同じ発信元ポリシーですか?
- 19. Googleアナリティクスはどのように同じ発信元ポリシーを回避しますか?
- 20. シェルスクリプトで実行しない理由は何ですか?
- 21. 同じコードブロックの実行時間が非常に異なる理由は何ですか?
- 22. トランザクションの同時実行が望ましい理由は何ですか?
- 23. 同じ発信元ポリシーはどのようにブラウザ拡張に適用されますか?
- 24. NHibernateがSQLを実行しない理由は何ですか?
- 25. リクエストヘッダーはまったく同じですが、異なるAjaxコンテンツを受信できる理由は何ですか?
- 26. git pushでエラーが発生する理由は何ですか?
- 27. すべてのMVC3アプリケーションが同じ理由で実行時に失敗する
- 28. 小さいMDBファイルでJETCOMPを実行する理由は何ですか?
- 29. FPSが元のカメラアプリと同じでない理由
- 30. UITableViewは何らかの理由で同じセルをロードしています
これはかなり浅い答えのようです。あなたはそれを拡大しようとしていますか? – Davy8
それはかなり基本的な質問です。私は基本的な答えを提供しました。あなたがもっと入るべきだと思うなら、私に知らせてください。 – hvgotcodes
@hvgotcodes、JSONPなどのクロスドメインリクエストの既存のハックを使用してJavaScriptコードを注入できない – Sergey