Content-Security-Policy: script-src-elem directive
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2022.
Chỉ thị script-src-elem trong HTTP Content-Security-Policy (CSP) chỉ định các nguồn hợp lệ cho các phần tử JavaScript <script>.
Chỉ thị này chỉ chỉ định các nguồn hợp lệ trong các phần tử <script> (cả yêu cầu script và các khối).
Nó không áp dụng cho các nguồn JavaScript khác có thể kích hoạt thực thi script, chẳng hạn như các event handler script nội tuyến (onclick), các phương thức thực thi script bị giới hạn bởi kiểm tra "unsafe-eval", và XSLT stylesheets.
(Các nguồn hợp lệ có thể được chỉ định cho tất cả các nguồn script JavaScript bằng script-src, hoặc chỉ cho các inline script handler bằng script-src-attr.)
| Phiên bản CSP | 3 |
|---|---|
| Loại chỉ thị | Fetch directive |
Dự phòng default-src |
Có.
Nếu chỉ thị này vắng mặt thì trình duyệt sẽ tìm kiếm chỉ thị script-src, và nếu cả hai đều vắng mặt thì dự phòng sang chỉ thị default-src.
|
Cú pháp
Content-Security-Policy: script-src-elem 'none';
Content-Security-Policy: script-src-elem <source-expression-list>;
Chỉ thị này có thể nhận một trong các giá trị sau:
'none'-
Không có tài nguyên nào thuộc loại này được tải. Dấu nháy đơn là bắt buộc.
<source-expression-list>-
Danh sách các giá trị biểu thức nguồn phân cách bằng khoảng trắng. Tài nguyên thuộc loại này có thể được tải nếu chúng khớp với bất kỳ biểu thức nguồn nào. Đối với chỉ thị này, bất kỳ giá trị biểu thức nguồn nào được liệt kê trong cú pháp chỉ thị fetch đều có thể áp dụng, ngoại trừ
'unsafe-hashes'.
script-src-elem có thể được sử dụng kết hợp với script-src:
Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src-elem <source>;
Ví dụ
>Trường hợp vi phạm
Với tiêu đề CSP này:
Content-Security-Policy: script-src-elem https://example.com/
…script sau bị chặn và sẽ không được tải hoặc thực thi:
<script src="https://not-example.com/js/library.js"></script>
Thông số kỹ thuật
| Specification |
|---|
| Content Security Policy Level 3> # directive-script-src-elem> |