Cảnh báo: Kể từ phiên bản 57, Chrome sẽ không còn cho phép nội dung web bên ngoài (bao gồm cả khung và tập lệnh được nhúng) bên trong các trang hộp cát nữa. Thay vào đó, vui lòng sử dụng webview.
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 trong một nguồn gốc duy nhất được cách ly, đồng thời có thể là một Chính sách bảo mật nội dung để sử dụng với các trang đó. Việc nằm trong một hộp cát có 2 ý nghĩa:
- Một trang được đưa vào hộp cát sẽ không có quyền truy cập vào các API tiện ích hoặc ứng dụng, hoặc quyền truy cập trực tiếp vào các trang không được đưa vào hộp cát (trang này có thể giao tiếp với các trang đó thông qua
postMessage()). Trang được cách ly không phải tuân theo Chính sách bảo mật nội dung (CSP) mà phần còn lại của ứng dụng hoặc tiện ích sử dụng (trang này có giá trị CSP riêng). Điều này có nghĩa là, chẳng hạn như nó có thể sử dụng tập lệnh cùng dòng và
eval.Ví dụ: sau đây là cách chỉ định rằng 2 trang tiện ích sẽ được phân phát trong một 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 bạn không chỉ định, giá trị
content_security_policymặ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 để hạn chế hộp cát hơn nữa, nhưng giá trị này phải có chỉ thịsandboxvà không được có mã thông báoallow-same-origin(xem quy cách HTML5 để biết 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 trong các trang có thuộc tính hộp cát.
Xin lưu ý rằng bạn chỉ cần liệt kê những trang mà bạn dự kiến sẽ được tải trong các cửa sổ hoặc khung. Các tài nguyên mà các trang được cách ly sử dụng (ví dụ: biểu định kiểu hoặc tệp nguồn JavaScript) không cần xuất hiện trong danh sách sandboxed_page, chúng sẽ sử dụng hộp cát của trang nhúng các tài nguyên đó.
"Sử dụng eval trong tiện ích của Chrome. một cách an toàn". trình bày chi tiết hơn về cách triển khai quy trình làm việc trong hộp cát cho phép sử dụng các thư viện nếu không sẽ gặp vấn đề khi thực thi theo 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 được cách ly khi sử dụng manifest_version 2 trở lên.