Tệp kê khai – Hộp cát

Cảnh báo: Kể từ phiên bản 57, Chrome sẽ không cho phép nội dung trên web bên ngoài nữa (bao gồm các khung và tập lệnh được nhúng) bên trong trang có hộp cát. Thay vào đó, vui lòng sử dụng chế độ xem web.

Xác định một tập hợp các trang ứng dụng hoặc tiện ích sẽ được phân phát trên một nguồn gốc riêng biệt trong hộp cát, và tuỳ ý sử dụng Chính sách bảo mật nội dung. Việc ở trong hộp cát sẽ có hai tác động:

  1. Trang trong môi trường hộp cát sẽ không có quyền truy cập vào API tiện ích hay API ứng dụng, cũng như không có quyền truy cập trực tiếp vào không có hộp cát (có thể giao tiếp với các trang này qua postMessage()).
  2. Trang hộp cát không phải tuân thủ Chính sách bảo mật nội dung (CSP) mà các trang web khác sử dụng ứng dụng hoặc tiện ích (có giá trị CSP riêng). Ví dụ: điều này có nghĩa là sử dụng tập lệnh cùng dòng và eval.

    Ví dụ: dưới đây là cách chỉ định hai trang tiện ích sẽ được phân phối trong hộp cát có CSP tuỳ chỉnh:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    Nếu không được chỉ định, giá trị content_security_policy mặc định sẽ là sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self'; Bạn có thể chỉ định giá trị CSP của mình để hạn chế hộp cát hơn nữa, nhưng phải có lệnh sandbox và có thể không có mã thông báo allow-same-origin (xem thẻ HTML5 về các mã thông báo hộp cát có thể có). Ngoài ra, CSP mà bạn chỉ định có thể không cho phép tải nội dung web bên ngoài bên trong trang hộp cát.

Lưu ý rằng bạn chỉ cần liệt kê các trang bạn muốn tải trong cửa sổ hoặc khung. Tài liệu tham khảo được sử dụng bởi các trang hộp cát (ví dụ: biểu định kiểu hoặc các tệp nguồn JavaScript) không cần xuất hiện trong sandboxed_page, các thiết bị này sẽ sử dụng hộp cát của trang nhúng các chương trình đó.

"Sử dụng eval trong Tiện ích của Chrome. An toàn." đi sâu hơn về cách triển khai một quy trình hộp cát cho phép sử dụng các thư viện có thể gặp sự cố khi thực thi trong Chính sách bảo mật nội dung mặc định của tiện ích.

Bạn chỉ có thể chỉ định trang hộp cát khi sử dụng manifest_version 2 trở lên.