ajax和json跨域,只有ajax會跨域嗎_為什么跨域Ajax是安全問題?

 2023-10-05 阅读 24 评论 0

摘要:為什么決定使用XMLHTTPRequest進行XML調用不應該跨域邊界進行調用?您可以檢索JavaScript,圖像,CSS,iframe以及我可以想到的來自其他域的幾乎所有其他內容。為什么不允許Ajax HTTP請求跨越域邊界?考慮到我可以看到它被濫用的唯一方法࿰

為什么決定使用XMLHTTPRequest進行XML調用不應該跨域邊界進行調用?您可以檢索JavaScript,圖像,CSS,iframe以及我可以想到的來自其他域的幾乎所有其他內容。為什么不允許Ajax HTTP請求跨越域邊界?考慮到我可以看到它被濫用的唯一方法,這似乎是一個奇怪的限制,那就是如果有人要向頁面中注入Javascript。但是,在這種情況下,您只需在文檔中添加一個img,腳本或iframe元素即可獲取該文件以請求第三方URL并將其發送到服務器。

[編輯]

一些答案指出了以下原因,讓我們指出了它們沒有創建不允許這樣做的主要原因的原因。

XSRF(跨站點請求偽造,也稱為CSRF,XSRF)

ajax和json跨域、您可以完全不使用XSRF進行攻擊。通常,根本不使用XMLHTTPRequest,只是因為很難以與所有主要瀏覽器兼容的方式創建XMLHTTPRequest。如果希望他們加載URL,只需在URL上添加一個img標記就容易得多。

發布到第三方網站

$.post("http://some-bank.com/transfer-money.php",

{ amount: "10000", to_account: "xxxx" })

可以完成

js 跨域?JPunyon:為什么要將該漏洞保留為新功能

您不會再造成任何不安全感。您只是給想要以某種方式使用它的開發人員帶來不便。任何想將此功能用于邪惡(又稱“真棒”)的人都可以使用其他方法來實現。

結論

我將bobince的答案標記為正確,因為他指出了關鍵問題。因為XMLHTTPRequest允許您使用憑據(cookie)將其發布到目標站點,并讀取從站點發送回的數據以及發送人員憑據,所以您可以編排一些javascript,這些javascript可以提交一系列表單,包括確認表單,并附有為防止XSRF而生成的隨機密鑰。這樣,您就可以像銀行一樣瀏覽目標站點,而銀行的網絡服務器將無法斷定,不僅僅是提交所有這些表格的普通用戶。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/114623.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息