0
有havebeenmanyproposals增強JSONP通信的安全性 - 其中一些未能理解這一點。按照現在的情況,當向某個提供者發出JSONP請求時,他必須相信提供者實際返回包含在回調中的一些JSON數據。那麼,實際上,相信提供商將anything
包裝到期望的回調中就足夠了:我們可以使用JSON.parse
來確保anything
是有效的JSON。無論如何,沒有任何東西阻止提供者簡單地忽略回調並返回惡意腳本。JSONP安全性的狀態
使機制安全的唯一方法是在客戶端添加一些增強功能。客戶端不應該盲目地插入腳本,而應該在之前解析它。實質上,這是許多提案所倡導的,但這當然需要來自瀏覽器供應商的一些協作。所以我們來我的問題
是否有任何具體的建議從一些瀏覽器供應商實現這樣的機制?
是的,我知道CORS,但它似乎目前還不是很普遍。另一方面,JSONP現在在這裏,它似乎不是一個很好的模型。 – Andrea 2011-03-07 16:42:34
所有主流瀏覽器都支持CORS的新版本。 CORS正在獲得牽引力。 JSONP是一種可以在CORS更廣泛使用之前使用的黑客技術。嘗試改進瀏覽器對黑客的支持毫無意義。 – 2011-03-07 17:02:00
@Andrea:對,但CORS已經在瀏覽器生態系統中進行篩選。這將是你可以更快地依賴的東西,而不是對JSONP的更新更改,IE10,Firefox 5,Chrome 25等之前不會進入生態系統。 – 2011-03-07 17:34:46