Html 5將針對iframe元素增加sandbox屬性,可以防止不信任的Web頁面執行某些操作。Html 5規范的編輯Ian Hickson談到了sandbox的好處,它可以防止如下操作:
◆訪問父頁面的DOM(從技術角度來說,這是因為相對於父頁面iframe已經成為不同的源了)
◆執行腳本
◆通過腳本嵌入自己的表單或是操縱表單
◆對cookIE、本地存儲或本地SQL數據庫的讀寫
Html 5的修訂歷史頁面還提到了sandbox的其他特性:
◆禁用插件
◆禁止其他浏覽上下文的導航
◆禁止彈出窗口和模式對話框
◆iFrames因安全問題而臭名昭著,這主要是因為iFrames常常被用於嵌入第三方內容,而後者則可能會執行某些惡意操作。
◆sandbox通過限制被嵌入內容所允許的操作而提升iFrames的安全性。這種方式將沙箱內容與父頁面進行了分離,因此限制了被嵌入內容的權限。
與sandbox一起出來的還有其MIME類型:text/Html-sandboxed。Hickson說到:
目前,只有Google Chrome 4.0使用了sandbox,Firefox、IE8和Safari都還沒有實現這一點,但相信不久之後這些浏覽器都會實現的。圍繞著Html 5 <video>元素發生了很多事情,Google通過H.264標准對其進行實現,而其他浏覽器則使用了不同的標准或是干脆還沒有實現。但這種情況不會發生在這裡,因為每個浏覽器都可以在內部自由決定如何實現sandbox。但即便是明天所有的主流浏覽器都采用了sandbox,眾多的開發者和內容管理者也不能立刻就使用它,因為還有那麼多的遺留浏覽器會忽略掉該屬性,因此穩妥的辦法還是采取常規的安全手段來保護iFrames。