除了JSONP之外,爲什麼還要遵循相同的域策略?爲什麼不允許跨域AJAX調用?
回答
出於安全原因已實施相同來源策略;從wikipedia引用了相關的句子:
該機制承擔的是大量關於HTTP餅乾取決於 保持 身份驗證的用戶會話現代Web 應用程序特定 意義,因爲 服務器行爲基於HTTP cookie的 信息以顯示敏感信息或採取變化 行動。
嚴格分離 內容之間提供的無關 網站必須保持在客戶端 方,以防止數據丟失保密性或完整性。
基本上,你不希望任何給定網站不要(像任何網站,你可能會衝浪 - 我們都知道人有時候,你不應該信任的網站到達)能夠訪問數據從任何其他人(如您的網絡郵箱,或社交網絡帳戶)。
通過使用新鮮的Cookie,難以避免安全問題? – 2014-08-04 21:55:39
存在同源策略以防止惡意使用資源。如果沒有管理跨域腳本訪問的規則,那麼對毫無戒心的用戶造成任何破壞都是微不足道的。例如,對於惡意網站來說,抓取您的會話信息到另一個網站並代表您執行操作很容易。
舉一個例子,看看這個:
你去你喜歡的網絡郵件程序 - 它可能是Gmail,雅虎郵件,Hotmail或私人公司內部網絡郵件程序。
登錄並檢查您的電子郵件後,單擊指向在新選項卡中打開的惡意網站的鏈接。
惡意網站檢查http referer並發現您來自您的電子郵件帳戶。
使用跨域腳本,惡意網站會回到您的電子郵件標籤中,並下載您的地址簿和所有電子郵件(或關閉彈出窗口之前可以獲得的很多電子郵件)。
隨後,在掃描您的電子郵件以查找密碼,財務數據和其他敏感材料之後,它會向您的所有聯繫人發送一封來自您批註同一站點的電子郵件。 這只是一個例子。一個更陰險的情節將涉及一個惡意的第三方使用您的瀏覽器蜘蛛您的公司的內聯網,泄露機密信息作爲你的不知情的幫兇!
更多關於http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax
- 1. jQuery .ajax()405(方法不允許)/跨域
- 2. 爲什麼header允許跨域不允許使用echo來輸出變量值?
- 3. 爲什麼跨站API調用允許一些API但不允許其他人
- 4. 在Silverlight中允許跨域調用
- 5. 爲什麼jsonp與跨域ajax()調用不起作用?
- 6. 在WebKit WebView中允許跨域AJAX
- 7. 跨域AJAX調用和訪問控制 - 允許來源
- 8. 爲什麼不允許我調試
- 9. 將Firefox配置爲允許從文件測試跨域JSON Ajax調用:// URL
- 10. 跨域AJAX調用
- 11. Ajax調用跨域
- 12. 跨域Ajax調用
- 13. AJAX跨域調用
- 14. 跨域AJAX調用
- 15. 跨域AJAX調用?
- 16. AJAX跨域調用
- 17. 爲什麼這個跨域的Ajax調用實際上有效?
- 18. %爲什麼不允許
- 19. 爲什麼跨域ajax後無效?
- 20. 跨域PUT調用不會訪問控制允許來源
- 21. 是什麼讓跨域ajax不安全?
- 22. WCF jQuery的Ajax的跨域策略 - 「不允許的方法」
- 23. 哪些瀏覽器允許使用Access-Control-Allow-Origin進行跨域ajax調用:*?
- 24. 跨域jQuery ajax調用不起作用
- 25. 爲什麼C++不允許使用typeof?
- 26. 爲什麼.NET不允許跨線程操作?
- 27. Ajax調用Webmethod,跨域
- 28. 跨域Ajax調用EasyXDM
- 29. 通過Ajax跨域調用
- 30. 跨域Ajax調用jquery
的DUP:爲什麼AJAX請求僅限於同一域?(http://stackoverflow.com/questions/3156710)和[爲什麼跨域Ajax存在安全問題?( http://stackoverflow.com/questions/466737) – 2011-03-21 20:12:53
可能重複的[反跨域策略是什麼?](http:// stackoverflow。com/questions/3113253/what-the-point-of-the-anti-cross-domain-policy) – 2011-03-21 20:13:17