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

http
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()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ện BeforeUnloadEvent.

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ặc target="_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 localstoragedocument.cookie và một số JavaScript API. Origin của các tài nguyên sandboxed không có từ khóa allow-same-originnull.

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-activation Experimental

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.

allow-top-navigation

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).

allow-top-navigation-by-user-activation

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.

allow-top-navigation-to-custom-protocols

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óa allow-popups hoặc allow-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ụ

http
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