HTML iframe sandbox 屬性
瀏覽器支持
Internet Explorer 10、Firefox、Chrome 和Safari 支持sandbox 屬性。
注意: Opera和Internet Explorer 9及之前的版本不支持sandbox屬性。
定義和用法
如果指定了空字符串(sandbox=""),該屬性對呈現在iframe框架中的內容啟用一些額外的限制條件。
sandbox 屬性的值既可以是一個空字符串(將會啟用所有的限制),也可以是用空格分隔的一系列指定的字符串。
HTML 5通過sandbox屬性提升iFrame的安全性。 sandbox屬性可以防止不信任的Web頁面執行某些操作。
HTML 5規範的編輯Ian Hickson談到了sandbox的好處,它可以防止如下操作:
- 訪問父頁面的DOM(從技術角度來說,這是因為相對於父頁面iframe已經成為不同的源了)
- 執行腳本
- 通過腳本嵌入自己的表單或是操縱表單
- 對cookie、本地存儲或本地SQL數據庫的讀寫
HTML 4.01 與HTML5之間的差異
sandbox 屬性是HTML5 中的新屬性。
語法
<iframe sandbox="value">
屬性值
值 | 描述 |
---|---|
"" | 启用所有限制条件 |
allow-same-origin | 允许将内容作为普通来源对待。如果未使用该关键字,嵌入的内容将被视为一个独立的源。 |
allow-top-navigation | 嵌入的页面的上下文可以导航(加载)内容到顶级的浏览上下文环境(browsing context)。如果未使用该关键字,这个操作将不可用。 |
allow-forms | 允许表单提交。 |
allow-scripts | 允许脚本执行。 |
更多實例
一個允許表單提交的<iframe> sandbox
啟用一系列額外限制,但允許表單提交。
一個允許腳本和訪問服務器內容的<iframe> sandbox
啟用一系列額外限制,但允許腳本和訪問服務器內容。
HTML <iframe>標籤