Cách nhận diện web bot 101
(antoinevastel.com)Nhận diện hành vi:
-
Phía máy chủ: số trang trên mỗi phiên, số lượng yêu cầu, khoảng thời gian giữa các trang
-
Phía máy khách: khoảng thời gian giữa các lần di chuyển chuột/nhấp/cuộn/nhập phím
Nhận diện fingerprint:
-
TCP hoặc TLS thụ động
-
Trình duyệt: kiểm tra các thuộc tính đặc trưng của trình duyệt headless (như PhantomJS, Puppeteer), kiểm tra xem UA có khác với thực tế hay không. Red Pills (kiểm tra có phải môi trường VM hay không)
Và cuối cùng là CAPTCHA
3 bình luận
Đúng là cách cuối cùng vẫn hiệu quả nhất.
Chẳng mấy chốc sẽ lại có bot giải quyết được cả những điểm được chỉ ra trong bài này thôi nhỉ haha
Phần kiểm tra xem UA có phải là thật hay không khá thú vị.
Khi gọi
eval.toString().length, Firefox và Safari trả về 37, Chrome là 33, còn IE là 39,nên họ kiểm tra xem thông tin gửi trong UA có đúng là trình duyệt thật hay không, nếu hai bên khác nhau thì coi là bot.