Ngày phát hành: 1 tháng 5 năm 2025
Kể từ Chrome 137, Chính sách tách riêng tài liệu là một tính năng mới giúp bạn dễ dàng sử dụng crossOriginIsolation. Không giống như COEP (Cross-Origin-Embedder-Policy), Chính sách tách biệt tài liệu áp dụng cho mỗi khung và không đưa ra yêu cầu nào đối với các khung con. Bằng cách bật crossOriginIsolation
, Chính sách tách biệt tài liệu sẽ mở khoá quyền truy cập vào các chức năng web mạnh mẽ như SharedArrayBuffers hoặc luồng WebAssembly.
Tách biệt nhiều nguồn gốc là gì?
Tính năng tách biệt nhiều nguồn gốc vẽ một ranh giới chắc chắn xung quanh một tài liệu và các tài liệu có cùng nguồn gốc trong quy trình của trình duyệt. Điều này ngăn việc nhóm tài liệu và có thể chia sẻ tài nguyên hoặc thông tin với tài liệu từ nhiều nguồn gốc. Tính năng tách biệt nguồn gốc đạt được điều này bằng cách đảm bảo rằng nguồn gốc có thể được tải trong quy trình riêng, bất kể trạng thái hỗ trợ của công cụ trình duyệt cơ bản đối với tính năng tách biệt trang web hay tách biệt nguồn gốc theo mặc định. Điều này giúp bảo vệ khỏi các cuộc tấn công thực thi suy đoán, chẳng hạn như Spectre.
Chính sách tách biệt tài liệu là gì?
Chính sách tách biệt tài liệu cung cấp một cách đơn giản hơn để triển khai crossOriginIsolation so với COOP (Cross-Origin-Opener-Policy) và COEP (Cross-Origin-Embedder-Policy). API này cho phép tách biệt trên cơ sở từng khung, không cần phải nhúng khung ẩn để hỗ trợ COEP.
Cách hoạt động của Chính sách cô lập tài liệu
Chính sách cô lập tài liệu cho phép bạn cô lập các khung cụ thể trong ứng dụng web. Bằng cách gửi tiêu đề Document-Isolation-Policy cùng với tài liệu, tài liệu đó sẽ có quyền truy cập vào các tính năng mạnh mẽ như SharedArrayBuffers, vốn bị hạn chế do các vấn đề về bảo mật. Không giống như COOP và COEP, Chính sách tách biệt tài liệu không áp đặt các quy định hạn chế đối với các trang mà tài liệu có thể giao tiếp hoặc đối với các khung con mà tài liệu có thể nhúng. Các tài liệu có Chính sách tách biệt tài liệu có thể mở cửa sổ bật lên nhiều nguồn gốc và giao tiếp với các cửa sổ đó. Các thành phần này cũng có thể nhúng bất kỳ iframe nào theo cách thông thường.
Chính sách tách biệt tài liệu, tương tự như COEP, có hai chế độ: isolate-and-require-corp
và isolate-and-credentialless
.
Các chế độ này chi phối cách xử lý tài nguyên phụ trên nhiều nguồn gốc được tải mà không có Chia sẻ tài nguyên trên nhiều nguồn gốc (CORS). Ở chế độ isolate-and-require-corp
, các tài nguyên nhiều nguồn gốc phải khai báo rõ ràng chính sách tài nguyên nhiều nguồn gốc bằng cách sử dụng tiêu đề Cross-Origin-Resource-Policy
; nếu không, các tài nguyên đó sẽ bị chặn. Điều này đảm bảo rằng các tài nguyên được chia sẻ một cách có chủ ý. Ngược lại, chế độ isolate-and-credentialless
cho phép tải tài nguyên trên nhiều nguồn gốc mà không cần tiêu đề CORS, nhưng xoá mọi thông tin xác thực (chẳng hạn như cookie hoặc xác thực HTTP) khỏi yêu cầu, xử lý tài nguyên một cách hiệu quả như thể tài nguyên đó là ẩn danh. Chế độ này cung cấp một cách ít hạn chế hơn nhưng vẫn an toàn để xử lý các tài nguyên không phải CORS.
Các iframe được tách biệt bằng Chính sách tách biệt tài liệu không có quyền truy cập DOM đồng bộ vào các iframe cùng nguồn gốc không được tách biệt. Tuy nhiên, các iframe riêng biệt này vẫn có thể giao tiếp với các khung không riêng biệt bằng cách sử dụng các phương thức Window (Cửa sổ) nhiều nguồn gốc như postMessage. Ngoài ra, các ứng dụng này vẫn giữ toàn quyền truy cập vào các API bộ nhớ, cho phép lưu trữ và chia sẻ dữ liệu trong cùng một nguồn gốc, ngay cả khi bật tính năng tách biệt.