Vào tháng 5 năm 2002, David Baron, một kỹ sư của Mozilla, đã phát hiện ra một lỗ hổng về quyền riêng tư trong cách thức hoạt động của web. Lỗ hổng này nằm ở bộ chọn CSS
Jeremiah Grossman, nhà nghiên cứu bảo mật và là người sáng lập WhiteHat Security, là một trong những người đầu tiên công khai lỗ hổng này vào năm 2006. Ông đã chứng minh cách một trang web có thể phát hiện các liên kết mà người dùng đã truy cập bằng CSS và JavaScript. Bất chấp cảnh báo từ các nhà nghiên cứu, Google Chrome, trình duyệt được sử dụng rộng rãi nhất thế giới, vẫn liên tục từ chối khắc phục sự cố và nhiều lần tuyên bố rằng sự cố "không được khắc phục". Trên thực tế, Google coi lỗi này có liên quan mật thiết đến cách thức hoạt động của web. Để ứng phó, một số trình duyệt, bắt đầu từ Firefox, đã quyết định vá lỗ hổng này nhưng không sửa lỗi hoàn toàn. Google nhấn mạnh rằng các biện pháp được thực hiện "làm chậm các cuộc tấn công chứ không loại bỏ chúng".
Cụ thể, Chrome sẽ xem xét lại cách quản lý các liên kết đã được người dùng Internet tham khảo. Bộ chọn :visited luôn dựa vào danh sách URL duy nhất được chia sẻ bởi tất cả các trang web. Kết quả: nếu người dùng đã truy cập vào một địa chỉ, bất kỳ trang web nào đều có thể tìm ra bằng cách hiển thị liên kết đến cùng địa chỉ đó. Từ bây giờ, Chrome sẽ phân vùng lưu trữ tất cả các liên kết mà người dùng Internet truy cập. Google giải thích rằng phân vùng "bảo vệ lịch sử của bạn bằng cách chỉ hiển thị liên kết đã truy cập nếu bạn đã nhấp vào liên kết đó từ cùng một trang web".
Nếu bạn "chưa từng tương tác với trang web này trước đây, các liên kết của trang web đó sẽ không được định dạng". Một liên kết sẽ được đánh dấu là "đã truy cập" chỉ khi liên kết đó được hiển thị trong cùng một môi trường với môi trường mà liên kết đó được mở: cùng một trang web, cùng một địa chỉ, cùng một khung hiển thị. Nếu xuất hiện ở nơi khác, nó sẽ được coi là một liên kết mới, ngay cả khi nó đã được xem. Phân vùng bao gồm việc lưu trữ "các liên kết đã truy cập cùng với thông tin về nơi chúng được nhấp vào", chẳng hạn như trang web hoặc bối cảnh xem. Phương pháp này ngăn chặn bất kỳ trang web nào có thể xem lịch sử duyệt web của bạn mà không có sự đồng ý của bạn.
Thay đổi lớn này sẽ được triển khai bắt đầu từ Chrome phiên bản 136. Phiên bản hiện đang có sẵn ở dạng beta, phiên bản này sẽ được triển khai bắt đầu từ ngày 23 tháng 4 năm 2025. Google tự hào tuyên bố rằng "Chrome là trình duyệt đầu tiên triển khai các biện pháp bảo vệ này cho người dùng."
:visited
của trình duyệt. Đây là chức năng cho phép bạn định dạng các siêu liên kết đã được người dùng xem, tức là những siêu liên kết có URL xuất hiện trong lịch sử duyệt web của họ. Bộ chọn giúp điều hướng dễ dàng hơn bằng cách hiển thị cho người dùng những địa chỉ họ đã đọc. Tóm lại, đây là lý do tại sao các trang web bạn đã truy cập có màu tím thay vì màu xanh lam.Lịch sử duyệt web có nguy cơ bị xâm phạm kể từ những năm 2000
Thật không may, chức năng này đã bị tấn công bằng lịch sử. Nói tóm lại, các trang web đã sử dụng công cụ chọn lọc để tìm ra những trang web nào đã được người dùng Internet tham khảo. Một trang web có thể chèn một loạt liên kết đến các trang web khác vào trang đó và sử dụng bộ chọn giả :visited để kiểm tra xem liên kết đó đã được nhấp vào hay chưa. Do trình duyệt áp dụng kiểu dáng khác nhau (ví dụ: màu văn bản) nên tập lệnh JavaScript có thể kiểm tra màu của liên kết để đoán xem người dùng đã truy cập liên kết đó hay chưa. Điều này cho phép một phần lịch sử duyệt web của người dùng được tái tạo mà không cần sự đồng ý.Jeremiah Grossman, nhà nghiên cứu bảo mật và là người sáng lập WhiteHat Security, là một trong những người đầu tiên công khai lỗ hổng này vào năm 2006. Ông đã chứng minh cách một trang web có thể phát hiện các liên kết mà người dùng đã truy cập bằng CSS và JavaScript. Bất chấp cảnh báo từ các nhà nghiên cứu, Google Chrome, trình duyệt được sử dụng rộng rãi nhất thế giới, vẫn liên tục từ chối khắc phục sự cố và nhiều lần tuyên bố rằng sự cố "không được khắc phục". Trên thực tế, Google coi lỗi này có liên quan mật thiết đến cách thức hoạt động của web. Để ứng phó, một số trình duyệt, bắt đầu từ Firefox, đã quyết định vá lỗ hổng này nhưng không sửa lỗi hoàn toàn. Google nhấn mạnh rằng các biện pháp được thực hiện "làm chậm các cuộc tấn công chứ không loại bỏ chúng".
Google chuẩn bị khắc phục lỗ hổng
Hơn 20 năm sau lần tiết lộ đầu tiên, cuối cùng Google cũng chuẩn bị xử lý vấn đề một cách nghiêm túc và khắc phục lỗ hổng. Trong bài đăng trên blog được công bố vào ngày 2 tháng 4 năm 2025, gã khổng lồ Mountain View bắt đầu bằng việc thừa nhận rằng đã có "số lượng các cuộc tấn công" khai thác bộ chọn CSS:visited ngày càng tăng theo thời gian. Đây là lý do tại sao Google cuối cùng đã đồng ý xem xét lỗi này, lỗi "đã ảnh hưởng đến web trong hơn 20 năm".Cụ thể, Chrome sẽ xem xét lại cách quản lý các liên kết đã được người dùng Internet tham khảo. Bộ chọn :visited luôn dựa vào danh sách URL duy nhất được chia sẻ bởi tất cả các trang web. Kết quả: nếu người dùng đã truy cập vào một địa chỉ, bất kỳ trang web nào đều có thể tìm ra bằng cách hiển thị liên kết đến cùng địa chỉ đó. Từ bây giờ, Chrome sẽ phân vùng lưu trữ tất cả các liên kết mà người dùng Internet truy cập. Google giải thích rằng phân vùng "bảo vệ lịch sử của bạn bằng cách chỉ hiển thị liên kết đã truy cập nếu bạn đã nhấp vào liên kết đó từ cùng một trang web".
Nếu bạn "chưa từng tương tác với trang web này trước đây, các liên kết của trang web đó sẽ không được định dạng". Một liên kết sẽ được đánh dấu là "đã truy cập" chỉ khi liên kết đó được hiển thị trong cùng một môi trường với môi trường mà liên kết đó được mở: cùng một trang web, cùng một địa chỉ, cùng một khung hiển thị. Nếu xuất hiện ở nơi khác, nó sẽ được coi là một liên kết mới, ngay cả khi nó đã được xem. Phân vùng bao gồm việc lưu trữ "các liên kết đã truy cập cùng với thông tin về nơi chúng được nhấp vào", chẳng hạn như trang web hoặc bối cảnh xem. Phương pháp này ngăn chặn bất kỳ trang web nào có thể xem lịch sử duyệt web của bạn mà không có sự đồng ý của bạn.
Ngoại lệ đối với quy tắc mới
Để "cải thiện trải nghiệm của người dùng", Google cho biết họ đã tạo ra ngoại lệ cho các liên kết nội bộ trong một trang web. Một trang web có thể đánh dấu các liên kết của chính mình là "đã truy cập", ngay cả khi người dùng chưa bao giờ mở chúng trong bối cảnh cụ thể đó. Trong mọi trường hợp, các trang web "có những cách khác để biết liệu người dùng đã truy cập vào các trang con của trang web hay chưa, do đó sẽ không có thông tin mới nào được cung cấp".Thay đổi lớn này sẽ được triển khai bắt đầu từ Chrome phiên bản 136. Phiên bản hiện đang có sẵn ở dạng beta, phiên bản này sẽ được triển khai bắt đầu từ ngày 23 tháng 4 năm 2025. Google tự hào tuyên bố rằng "Chrome là trình duyệt đầu tiên triển khai các biện pháp bảo vệ này cho người dùng."