Home » User-agent là gì và những chú ý khi thay đổi User-agent

User-agent là gì và những chú ý khi thay đổi User-agent

11-09-2023

USER-AGENT là gì?

(Bài viết sẽ nói 1 cách nôm na để những ae không phải chuyên về kĩ thuật cũng hiểu). User-agent là một string (chuỗi kí tự) đại diện cho hệ điều hànhtrình duyệt đang sử dụng.

Ví dụ:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36

-> WinNT 10.0 (Windows 10 hoặc Windows 11), 64 bit. Trình duyệt Chrome version 103.0.0.0

User-agent được gắn vào thông tin request. Bước đầu cho web server biết client đang sử dụng hệ điều hành gì và trình duyệt gì.

Thông thường dev sẽ dùng User-agent để nhận dạng loại thiết bị đang sử dụng để hiển thị giao diện. (Ví dụ nếu là PC thì hiện 1 giao diện, nếu là điện thoại thì hiện giao diện khác chẳng hạn)

 

 

CHÚ Ý KHI THAY ĐỔI USER-AGENT

User-agent thực chất không mang tính chất đại diện cho máy nên nó không quá quan trọng. (Các máy chạy Windows cài Chrome trên thế giới, phần lớn trình duyệt hiện nay đều auto update phiên bản mới nhất. Vậy nên version trình duyệt nó cũng không quan trọng nốt. Tuy vậy nếu đổi thì cũng thêm phần đa dạng.)

Tuy nhiên, trong trường hợp website sử dụng có check thông tin máy qua javascript thì việc thay đổi User-agent còn nguy hiểm hơn là không đổi.

Ví dụ: khi đổi useragent sang

Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 (User agent của phone)

–> Web sẽ nhận đây là iPhone và sử dụng trình duyệt Safari.

Tuy nhiên khi gọi Javascript để lấy thông tin từ máy thật lên thông qua trình duyêt. Mọi thông số vẫn cho thấy đây là 1 PC và sử dụng Chrome.

–> Bị detect

Các hệ thống detect sẽ làm theo quy trình sau:

  • Bước 1: Web server khi được gọi (ví dụ abc.com), nó sẽ có ngay User-agent từ request của trình duyệt -> trả về HTML cho phía trình duyệt để hiển thị.
  • Bước 2: Khi trình duyệt nhận được html nó sẽ tiến hành render. (Hiển thị html, load css để format, chạy các đoạn mã javascript). Khi chạy javascript, trình duyệt cho thông tin phần cứng máy client hiện tại rồi gửi lên web-server.
  • Bước 3: Web server so sánh thông tin trình duyệt gửi lên so với User-agent từ request để đánh giá.

 

-> Bỏ qua việc bạn vi phạm chính sách, nói về 1 account của các website check gắt. Thông thường những lần detect nó sẽ được thu thập lại, để những đợt quét AI có thể dựa trên những thông tin trước đây để đánh giá (trong 1 khoảng thời gian có bao nhiêu lần bị detect về phần cứng, sử dụng bao nhiêu IP, nguồn IP có nhiều black list khả năng là proxy hay không). Ví dụ trong 1 tháng mà cả nghìn IP khác nhau, nguồn IP bị detect là proxy nhiều, sử dụng cả trăm thiết bị lại thêm bị detect lệch user-agent với thông tin thật của máy…