Thuật ngữ · Fingerprinting
Dấu vân tay trình duyệt
Sự kết hợp giữa các đặc điểm của trình duyệt và thiết bị có thể nhận dạng một trình duyệt mà không cần cookie.
Định nghĩa
Dấu vân tay trình duyệt là tập hợp các đặc điểm mà một trang web có thể đọc được từ trình duyệt và thiết bị của nó — chẳng hạn như phiên bản trình duyệt, múi giờ, ngôn ngữ, phông chữ đã cài đặt, codec và kích thước màn hình — được kết hợp thành một mã định danh. MDN mô tả fingerprinting là việc nhận dạng một trình duyệt, và mở rộng ra là một người dùng, bằng cách thu thập và kết hợp các đặc điểm phân biệt này.
Cách thức hoạt động
- Một số giá trị được gửi đến một cách thụ động với mỗi yêu cầu, ví dụ như các tiêu đề User-Agent và Accept-Language. W3C gọi đây là việc lấy dấu vân tay thụ động.
- Những giá trị khác được thu thập một cách chủ động bởi JavaScript hoặc CSS đang chạy trên trang: độ phân giải màn hình, múi giờ, danh sách phông chữ, đầu ra kết xuất Canvas hoặc WebGL và nhiều hơn nữa.
- Mỗi giá trị riêng lẻ đều phổ biến; nhưng khi kết hợp lại, chúng có thể thu hẹp trình duyệt xuống một nhóm nhỏ hoặc một thiết bị duy nhất. Không cần một thuộc tính đơn lẻ nào phải là duy nhất.
Tại sao nó lại quan trọng
- Dấu vân tay có thể liên kết các lượt truy cập giữa các trang web mà không cần cookie, và W3C lưu ý rằng việc xóa cookie hoặc sử dụng VPN không ngăn chặn được sự liên kết đó.
- Các trang web cũng sử dụng dấu vân tay để phát hiện gian lận và lạm dụng, ví dụ như để phát hiện nhiều tài khoản đến từ một thiết bị.
- Đối với công việc đa tài khoản hợp pháp (đại lý, QA, các tài khoản khách hàng riêng biệt), việc hiểu về dấu vân tay sẽ giải thích lý do tại sao các hồ sơ trình duyệt riêng biệt tồn tại.
Giới hạn và những quan niệm sai lầm phổ biến
- "Chế độ ẩn danh ẩn dấu vân tay của tôi." Các cửa sổ riêng tư xóa dữ liệu đã lưu, nhưng các đặc điểm thiết bị mà một trang web có thể đọc được phần lớn vẫn giữ nguyên.
- "Một dấu vân tay ngẫu nhiên là an toàn nhất." Các giá trị không nhất quán — chẳng hạn, một user agent di động với màn hình máy tính để bàn — có thể trở nên đặc biệt hơn cả một thiết lập phổ biến, nhất quán.
- "Có thể loại bỏ việc lấy dấu vân tay." Hướng dẫn của W3C nêu rõ rằng việc loại bỏ hoàn toàn việc lấy dấu vân tay bởi một đối thủ quyết tâm thông qua các phương tiện kỹ thuật được triển khai rộng rãi là không khả thi; các biện pháp giảm thiểu chỉ giúp giảm bớt nó.
Ví dụ: Hai máy tính xách tay có cùng phiên bản trình duyệt vẫn có thể khác nhau về múi giờ, phông chữ đã cài đặt và GPU. Một tập lệnh đọc các giá trị đó cộng với kết xuất Canvas có thể phân biệt chúng ngay cả sau khi cookie đã được xóa.
Không có trình duyệt hay proxy nào có thể đảm bảo rằng các tài khoản sẽ không bị hạn chế. Hãy tuân thủ quy định của từng nền tảng.
Các thuật ngữ liên quan
- Canvas fingerprinting — Nhận dạng một thiết bị từ những khác biệt nhỏ trong cách nó kết xuất một bản vẽ HTML canvas.
- Lấy dấu vân tay WebGL — Sử dụng thông tin đồ họa WebGL và kết quả kết xuất để nhận dạng một thiết bị.
- User agent (Chuỗi User-Agent) — Thông tin nhận dạng trình duyệt và hệ điều hành mà trình duyệt gửi trong tiêu đề User-Agent và tiết lộ cho JavaScript.
- Hồ sơ trình duyệt — Một tập hợp dữ liệu trình duyệt riêng biệt — cookie, lịch sử, cài đặt, tiện ích mở rộng — được giữ tách biệt với các hồ sơ khác.
Các hướng dẫn liên quan
Nguồn
- MDN Glossary: Fingerprinting (tài liệu trình duyệt)
- W3C: Giảm thiểu việc lấy dấu vân tay trình duyệt trong các đặc tả Web (tiêu chuẩn)
Đã kiểm tra 2026-11-07.