Có những tùy chọn nào để phát hiện trình thu thập thông tin web không muốn bị phát hiện?
(Tôi biết rằng các kỹ thuật phát hiện danh sách sẽ cho phép lập trình viên thu thập thông tin tàng hình thông minh tạo ra một con nhện tốt hơn, nhưng tôi không nghĩ rằng chúng ta sẽ có thể chặn những trình thu thập thông tin tàng hình thông minh, chỉ những con mắc lỗi.)
Tôi không nói về các trình thu thập thông tin tốt như googlebot và Yahoo! Húp xì xụp. Tôi coi một con bot tốt nếu nó:
- tự nhận dạng mình là một bot trong chuỗi tác nhân người dùng
- đọc robots.txt (và tuân theo nó)
Tôi đang nói về những trình thu thập dữ liệu tồi , ẩn sau các tác nhân người dùng thông thường, sử dụng băng thông của tôi và không bao giờ trả lại cho tôi bất cứ thứ gì.
Có một số cửa sổ bẫy có thể được xây dựng danh sách cập nhật (cảm ơn Chris, gs) :
- Chỉ thêm một thư mục được liệt kê (được đánh dấu là không cho phép) trong robots.txt,
- Thêm liên kết vô hình (có thể được đánh dấu là rel = "nofollow"?),
- style = "display: none;" trên liên kết hoặc vùng chứa mẹ
- được đặt bên dưới một phần tử khác có chỉ số z cao hơn
- phát hiện ai không hiểu cách viết hoa,
- phát hiện ai cố gắng đăng câu trả lời nhưng luôn thất bại Captcha.
- phát hiện các yêu cầu GET đối với các tài nguyên chỉ ĐĂNG
- phát hiện khoảng thời gian giữa các yêu cầu
- phát hiện thứ tự các trang được yêu cầu
- phát hiện ai (nhất quán) yêu cầu tài nguyên https qua http
- phát hiện ai không yêu cầu tệp hình ảnh (điều này kết hợp với danh sách tác nhân người dùng của các trình duyệt có khả năng hình ảnh đã biết hoạt động tốt một cách đáng ngạc nhiên)
Một số bẫy sẽ được kích hoạt bởi cả bot 'tốt' và 'xấu'. bạn có thể kết hợp chúng với một danh sách trắng:
- Nó kích hoạt một cái bẫy
- Nó yêu cầu
robots.txt
? - Nó không kích hoạt một cái bẫy khác vì nó đã tuân theo
robots.txt
Một điều quan trọng khác ở đây là:
Vui lòng xem xét những người mù sử dụng trình đọc màn hình: cung cấp cho mọi người cách liên hệ với bạn hoặc giải quyết Captcha (không phải hình ảnh) để tiếp tục duyệt.
Có những phương pháp nào để tự động phát hiện các trình thu thập thông tin web đang cố che giấu mình là những người truy cập bình thường.
Cập nhật
Câu hỏi không phải là: Làm cách nào để bắt mọi trình thu thập thông tin. Câu hỏi đặt ra là: Làm cách nào để tối đa hóa cơ hội phát hiện trình thu thập thông tin.
Một số trình thu thập dữ liệu thực sự tốt, và thực sự phân tích cú pháp và hiểu html, xhtml, css javascript, VB script, v.v.
Tôi không có ảo tưởng: Tôi sẽ không thể đánh bại chúng.
Tuy nhiên, bạn sẽ ngạc nhiên về việc một số trình thu thập thông tin ngu ngốc đến mức nào. Với ví dụ tốt nhất về sự ngu ngốc (theo ý kiến của tôi) là: chuyển tất cả các URL thành chữ thường trước khi yêu cầu chúng.
Và sau đó là một loạt các trình thu thập thông tin 'không đủ tốt' để tránh các cửa sổ bẫy khác nhau.