Content-Security-Policy: sandbox directive
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since November 2016.
Chỉ thị sandbox trong HTTP Content-Security-Policy (CSP) kích hoạt sandbox cho tài nguyên được yêu cầu tương tự như thuộc tính sandbox của <iframe>.
Nó áp dụng các hạn chế đối với các hành động của trang bao gồm ngăn các popup, ngăn thực thi plugin và script, và thực thi chính sách cùng nguồn gốc.
| Phiên bản CSP | 1.1 / 2 |
|---|---|
| Loại chỉ thị | Document directive |
Chỉ thị này không được hỗ trợ trong phần tử <meta> hoặc bởi trường tiêu đề Content-Security-policy-Report-Only.
|
|
Cú pháp
Content-Security-Policy: sandbox;
Content-Security-Policy: sandbox <value>;
trong đó <value> có thể tùy chọn là một trong các giá trị sau:
allow-downloads-
Cho phép tải xuống tệp thông qua phần tử
<a>hoặc<area>với thuộc tính download, cũng như thông qua điều hướng dẫn đến tải xuống tệp. Điều này hoạt động bất kể người dùng có nhấp vào liên kết hay mã JS khởi tạo mà không có tương tác người dùng. allow-forms-
Cho phép trang gửi biểu mẫu. Nếu từ khóa này không được sử dụng, biểu mẫu sẽ được hiển thị bình thường, nhưng việc gửi nó sẽ không kích hoạt xác thực đầu vào, gửi dữ liệu đến máy chủ web hoặc đóng hộp thoại.
allow-modals-
Cho phép trang mở cửa sổ modal bằng
Window.alert(),Window.confirm(),Window.print()vàWindow.prompt(), trong khi mở<dialog>được phép bất kể từ khóa này. Nó cũng cho phép trang nhận sự kiệnBeforeUnloadEvent. allow-orientation-lock-
Cho phép tài nguyên khóa hướng màn hình.
allow-pointer-lock-
Cho phép trang sử dụng Pointer Lock API.
allow-popups-
Cho phép popup (được tạo, ví dụ, bằng
Window.open()hoặctarget="_blank"). Nếu từ khóa này không được sử dụng, hiển thị popup sẽ thất bại một cách im lặng. allow-popups-to-escape-sandbox-
Cho phép tài liệu sandboxed mở cửa sổ mới mà không buộc các cờ sandboxing lên chúng. Điều này sẽ cho phép, ví dụ, một quảng cáo của bên thứ ba được sandboxed một cách an toàn mà không buộc các hạn chế tương tự lên trang mà quảng cáo liên kết đến.
allow-presentation-
Cho phép người nhúng có quyền kiểm soát liệu một iframe có thể bắt đầu một phiên trình bày hay không.
allow-same-origin-
Cho phép tài nguyên sandboxed giữ lại origin của nó. Tài nguyên sandboxed nếu không sẽ được coi là từ một opaque origin, đảm bảo rằng nó sẽ luôn thất bại khi kiểm tra same-origin policy, và do đó không thể truy cập
localstoragevàdocument.cookievà một số JavaScript API.Origincủa các tài nguyên sandboxed không có từ khóaallow-same-originlànull. allow-scripts-
Cho phép trang chạy script (nhưng không tạo cửa sổ popup). Nếu từ khóa này không được sử dụng, thao tác này không được phép.
allow-storage-access-by-user-activationExperimental-
Cho phép tài nguyên yêu cầu quyền truy cập vào khả năng lưu trữ của cha mẹ bằng Storage Access API.
-
Cho phép tài nguyên điều hướng ngữ cảnh duyệt cấp cao nhất (cái được đặt tên là
_top). -
Cho phép tài nguyên điều hướng ngữ cảnh duyệt cấp cao nhất, nhưng chỉ khi được khởi tạo bởi cử chỉ người dùng.
-
Cho phép điều hướng đến các giao thức không phải
httpđược tích hợp vào trình duyệt hoặc được đăng ký bởi một trang web. Tính năng này cũng được kích hoạt bởi từ khóaallow-popupshoặcallow-top-navigation.
Note:
Các giá trị allow-top-navigation và các giá trị liên quan chỉ có ý nghĩa đối với các tài liệu nhúng (chẳng hạn như iframe con). Đối với các tài liệu độc lập, các giá trị này không có tác dụng, vì ngữ cảnh duyệt cấp cao nhất là chính tài liệu đó.
Ví dụ
Content-Security-Policy: sandbox allow-scripts;
Thông số kỹ thuật
| Specification |
|---|
| Content Security Policy Level 3> # directive-sandbox> |
Khả năng tương thích trình duyệt
Xem thêm
Content-Security-Policy- Thuộc tính
sandboxtrên các phần tử<iframe>