Trước khi bắt đầu:
- Nếu bạn không chắc chắn về sự khác biệt giữa "trang web" và "nguồn gốc", hãy xem bài viết Tìm hiểu về "cùng trang web" và "cùng nguồn gốc".
- Tiêu đề
Referer
bị thiếu chữ R, do lỗi chính tả ban đầu trong thông số kỹ thuật. Tiêu đềReferrer-Policy
vàreferrer
trong JavaScript và DOM được viết đúng chính tả.
Tóm tắt
- Các trình duyệt đang phát triển theo hướng chính sách liên kết giới thiệu mặc định tăng cường quyền riêng tư để cung cấp một phương án dự phòng hiệu quả khi trang web không đặt chính sách.
- Chrome dự định từng bước bật
strict-origin-when-cross-origin
làm chính sách mặc định trong phiên bản 85; điều này có thể ảnh hưởng đến các trường hợp sử dụng dựa vào giá trị giới thiệu từ một nguồn gốc khác. - Đây là chính sách mặc định mới, nhưng các trang web vẫn có thể chọn một chính sách theo ý mình.
- Để dùng thử thay đổi trong Chrome, hãy bật cờ tại
chrome://flags/#reduced-referrer-granularity
. Bạn cũng có thể xem bản minh hoạ này để thấy thay đổi trong thực tế. - Ngoài chính sách liên kết giới thiệu, cách trình duyệt xử lý liên kết giới thiệu có thể thay đổi. Vì vậy, hãy chú ý đến điều này.
Điều gì sẽ thay đổi và lý do là gì?
Yêu cầu HTTP có thể bao gồm tiêu đề Referer
không bắt buộc, cho biết nguồn gốc hoặc URL trang web nơi yêu cầu được thực hiện. Tiêu đề Referer-Policy
xác định dữ liệu được cung cấp trong tiêu đề Referer
, cũng như cho tính năng điều hướng và iframe trong document.referrer
của đích đến.
Thông tin chính xác được gửi trong tiêu đề Referer
trong một yêu cầu từ trang web của bạn được xác định bằng tiêu đề Referrer-Policy
mà bạn đặt.

Khi bạn không đặt chính sách nào, chính sách mặc định của trình duyệt sẽ được sử dụng. Các trang web thường tuân theo chế độ mặc định của trình duyệt.
Đối với các thành phần điều hướng và iframe, bạn cũng có thể truy cập vào dữ liệu có trong tiêu đề Referer
thông qua JavaScript bằng document.referrer
.
Cho đến gần đây, no-referrer-when-downgrade
là chính sách mặc định phổ biến trên các trình duyệt. Tuy nhiên, hiện tại, nhiều trình duyệt đang ở một số giai đoạn chuyển sang các chế độ mặc định tăng cường quyền riêng tư hơn.
Chrome dự định chuyển chính sách mặc định từ no-referrer-when-downgrade
sang strict-origin-when-cross-origin
, kể từ phiên bản 85.
Điều này có nghĩa là nếu bạn không đặt chính sách cho trang web của mình, thì Chrome sẽ sử dụng strict-origin-when-cross-origin
theo mặc định. Xin lưu ý rằng bạn vẫn có thể đặt chính sách theo lựa chọn của mình; thay đổi này sẽ chỉ ảnh hưởng đến những trang web chưa đặt chính sách.
Thay đổi này có ý nghĩa gì?
strict-origin-when-cross-origin
mang lại nhiều quyền riêng tư hơn. Với chính sách này, chỉ nguồn gốc được gửi trong tiêu đề Referer
của các yêu cầu trên nhiều nguồn gốc.
Điều này giúp ngăn chặn việc rò rỉ dữ liệu riêng tư có thể truy cập được từ các phần khác của URL đầy đủ, chẳng hạn như đường dẫn và chuỗi truy vấn.

Ví dụ:
Yêu cầu trên nhiều nguồn gốc, được gửi từ https://site-one.example/stuff/detail?tag=red đến https://site-two.example/…:
- Với
no-referrer-when-downgrade
: Referer: https://site-one.example/stuff/detail?tag=red. - Với
strict-origin-when-cross-origin
: Referer: https://site-one.example/.
Điều gì vẫn giữ nguyên?
- Giống như
no-referrer-when-downgrade
,strict-origin-when-cross-origin
là an toàn: không có trình giới thiệu nào (tiêu đềReferer
vàdocument.referrer
) xuất hiện khi yêu cầu được thực hiện từ một nguồn HTTPS (an toàn) đến một nguồn HTTP (không an toàn). Bằng cách này, nếu trang web của bạn sử dụng HTTPS (nếu không, hãy ưu tiên sử dụng), URL của trang web sẽ không bị rò rỉ trong các yêu cầu không phải HTTPS – vì bất kỳ ai trên mạng cũng có thể xem các URL này, do đó, điều này sẽ khiến người dùng của bạn dễ bị tấn công giả mạo. - Trong cùng một nguồn gốc, giá trị tiêu đề
Referer
là URL đầy đủ.
Ví dụ: Yêu cầu cùng nguồn gốc, được gửi từ https://site-one.example/stuff/detail?tag=red đến https://site-one.example/…:
- Với
strict-origin-when-cross-origin
: Referer: https://site-one.example/stuff/detail?tag=red
Điều này có tác động gì?
Dựa trên các cuộc thảo luận với các trình duyệt khác và thử nghiệm của riêng Chrome chạy trong Chrome 84, sự cố mà người dùng nhìn thấy được dự kiến sẽ bị hạn chế.
Tính năng ghi nhật ký hoặc phân tích phía máy chủ dựa vào URL đầy đủ của liên kết giới thiệu có thể bị ảnh hưởng do thông tin đó bị giảm độ chi tiết.
Việc bạn cần làm
Chrome dự định bắt đầu triển khai chính sách trường giới thiệu mặc định mới trong phiên bản 85 (phiên bản thử nghiệm vào tháng 7 năm 2020 và phiên bản chính thức vào tháng 8 năm 2020). Xem trạng thái trong mục trạng thái Chrome.
Tìm hiểu và phát hiện sự thay đổi
Để hiểu rõ những thay đổi mới về chế độ mặc định trong thực tế, bạn có thể xem bản minh hoạ này.
Bạn cũng có thể sử dụng bản minh hoạ này để phát hiện chính sách nào được áp dụng trong phiên bản Chrome mà bạn đang chạy.
Thử nghiệm thay đổi và tìm hiểu xem thay đổi này có ảnh hưởng đến trang web của bạn hay không
Bạn có thể dùng thử thay đổi này kể từ Chrome 81: truy cập vào chrome://flags/#reduced-referrer-granularity
trong Chrome và bật cờ. Khi bạn bật cờ này, tất cả các trang web không có chính sách sẽ sử dụng strict-origin-when-cross-origin
mới theo mặc định.

Giờ đây, bạn có thể kiểm tra cách hoạt động của trang web và phần phụ trợ.
Một việc khác cần làm để phát hiện mức độ tác động là kiểm tra xem cơ sở mã của trang web có sử dụng referrer hay không, thông qua tiêu đề Referer
của các yêu cầu đến trên máy chủ hoặc từ document.referrer
trong JavaScript.
Một số tính năng trên trang web của bạn có thể bị hỏng hoặc hoạt động khác đi nếu bạn đang sử dụng tệp giới thiệu của các yêu cầu từ một nguồn gốc khác đến trang web của bạn (cụ thể là đường dẫn và/hoặc chuỗi truy vấn) VÀ nguồn gốc này sử dụng chính sách giới thiệu mặc định của trình duyệt (tức là không có chính sách nào được đặt).
Nếu điều này ảnh hưởng đến trang web của bạn, hãy cân nhắc các giải pháp thay thế
Nếu đang sử dụng tệp giới thiệu để truy cập vào đường dẫn đầy đủ hoặc chuỗi truy vấn cho các yêu cầu đến trang web của bạn, bạn có một số lựa chọn:
- Sử dụng các kỹ thuật và tiêu đề thay thế như
Origin
vàSec-fetch-Site
để bảo vệ CSRF, ghi nhật ký và các trường hợp sử dụng khác. Hãy xem bài viết Trình giới thiệu và Chính sách về trình giới thiệu: các phương pháp hay nhất. - Bạn có thể điều chỉnh chính sách của mình cho phù hợp với đối tác nếu cần thiết và minh bạch với người dùng.
Kiểm soát quyền truy cập – khi các trang web sử dụng tệp giới thiệu để cấp quyền truy cập cụ thể vào tài nguyên của chúng cho các nguồn gốc khác – có thể là một trường hợp như vậy, mặc dù với thay đổi của Chrome, nguồn gốc vẫn sẽ được chia sẻ trong Tiêu đề
Referer
(và trongdocument.referrer
).
Xin lưu ý rằng hầu hết các trình duyệt đều đang chuyển hướng theo hướng tương tự khi nói đến trình giới thiệu (xem các tuỳ chọn mặc định của trình duyệt và sự phát triển của các tuỳ chọn đó trong phần Trình giới thiệu và Chính sách về trình giới thiệu: các phương pháp hay nhất).
Triển khai chính sách rõ ràng, tăng cường quyền riêng tư trên trang web của bạn
Bạn nên gửi Referer
nào trong các yêu cầu do trang web của bạn tạo ra, tức là bạn nên đặt chính sách nào cho trang web của mình?
Ngay cả khi đã cân nhắc đến thay đổi của Chrome, bạn vẫn nên đặt chính sách rõ ràng, tăng cường quyền riêng tư như strict-origin-when-cross-origin
hoặc nghiêm ngặt hơn ngay bây giờ.
Việc này giúp bảo vệ người dùng và giúp trang web của bạn hoạt động theo cách dễ dự đoán hơn trên các trình duyệt. Chủ yếu, tính năng này giúp bạn kiểm soát — thay vì để trang web phụ thuộc vào các chế độ mặc định của trình duyệt.
Hãy xem bài viết Trình giới thiệu và Chính sách giới thiệu: các phương pháp hay nhất để biết thông tin chi tiết về cách đặt chính sách.
Giới thiệu về Chrome Enterprise
Chính sách doanh nghiệp của Chrome
ForceLegacyDefaultReferrerPolicy
dành cho những quản trị viên CNTT muốn buộc áp dụng chính sách liên kết giới thiệu mặc định trước đó là
no-referrer-when-downgrade
trong môi trường doanh nghiệp. Điều này giúp các doanh nghiệp có thêm thời gian để kiểm thử và cập nhật ứng dụng.
Chính sách này sẽ bị loại bỏ trong Chrome 88.
Gửi phản hồi
Bạn có ý kiến phản hồi hoặc muốn báo cáo vấn đề gì không? Chia sẻ ý kiến phản hồi về ý định phát hành của Chrome hoặc tweet câu hỏi của bạn tại @maudnals.
Xin cảm ơn tất cả những người đã đóng góp và phản hồi, đặc biệt là Kaustubha Govind, David Van Cleve, Mike West, Sam Dutton, Rowan Merewood, Jxck và Kayce Basques.