比方說,我有一個頁面example.com
。此頁面包含一個iframe
,顯示sandbox.example.com
。子域上的iframe是否提供了足夠的JS沙箱?
---------------------------
| example.com |
| ----------------------- |
| | sandbox.example.com | |
| | (<canvas> + js) | |
| ----------------------- |
---------------------------
沙盒將執行可能具有潛在危險的腳本。沙箱將是我自己的JavaScript的混合體,與其他來源的不可信JavaScript代碼一起運行。
我會將我的應用程序路由中的很少一部分暴露給sandbox.example.com
,以便相同的源策略應該防止任何敏感數據或操作的訪問。像會話cookie被盜,以及驗證ajax請求更改密碼是我試圖避免的問題的類型。
的想法是有一個可擴展的渲染引擎,由我公司提供,這是由代碼他人擴展,都扔進一個頁面渲染到一個單一的畫布。
那麼這會被認爲是安全的嗎?如果您登錄到example.com
,並在sandbox.example.com
上運行iframe,並在其中執行不受信任的JS,那麼您是否會面臨任何類型的攻擊?
而且是一個子域是否足夠?或者如果它是一個完全不同的領域,它會是安全的嗎?
任何與「.example.com」而不是「example.com」相關的cookies都可供所有子域訪問。除此之外,我認爲你很安全。 – Barmar