Điểm reCAPTCHA v3 được giải thích: cách trang đánh giá khách không cần thử thách
reCAPTCHA v3 không hiển thị thử thách. Nó chạy ngầm trên trang, theo dõi người truy cập, và trả về một điểm từ 0.0 đến 1.0, trong đó số càng cao nghĩa là người truy cập càng có khả năng là người thật. Backend của trang quyết định làm gì với điểm đó. Một form đăng ký có thể cho qua ở mức 0.7 và chặn ở mức 0.3. Scarnox sẽ sớm hỗ trợ reCAPTCHA v3. Hướng dẫn này giải thích điểm số hoạt động thế nào, và các cách hợp lệ để giữ công việc tự động không bị chấm là bot.
Điểm số được tạo ra thế nào
Trang tải script reCAPTCHA và gọi nó cho một hành động, chẳng hạn login hoặc signup. Script thu thập tín hiệu trong trình duyệt, gửi chúng tới Google, và nhận lại một token. Backend của trang sau đó gửi token tới endpoint xác minh của Google, cùng với secret key của mình, và nhận lại một điểm số và tên hành động.
Điểm số là ước lượng rủi ro dựa trên nhiều loại tín hiệu:
- môi trường trình duyệt, bao gồm việc nó có trông như một trình duyệt desktop tiêu chuẩn không;
- hành vi trên trang, như di chuyển chuột, cuộn và thời gian;
- lịch sử của người truy cập với trang, chẳng hạn các phiên thành công trước đó;
- mẫu request, bao gồm tần suất và tốc độ request đến từ một địa chỉ.
Trọng số chính xác không được công bố, và nó thay đổi. Điều công khai là hợp đồng: trang chọn một ngưỡng, và điểm số quyết định kết quả.
Vì sao tự động hóa bị điểm thấp
Lưu lượng tự động thường có điểm thấp vì những lý do dễ đoán. Một headless browser với cài đặt mặc định có tín hiệu bất thường. Một phiên mới không có lịch sử. Một mẫu request nhanh và đều không giống người lướt web. Địa chỉ datacenter bị nghi ngờ hơn kết nối gia đình. Mỗi yếu tố là một tín hiệu, và vài yếu tố cùng lúc có thể kéo điểm xuống dưới ngưỡng.
Vì không có thử thách hiển thị, điểm thấp thường là một lỗi âm thầm. Trang tải, form bị từ chối, và không có gì cho bạn biết lý do. Hãy xây dựng logging để bạn thấy lỗi từ phía server.
Các cách hợp lệ để giữ điểm khỏe mạnh
Những cách này dành cho công việc của chính bạn và thu thập dữ liệu hợp pháp:
- Dùng profile trình duyệt thật. Một trình duyệt thông thường với cài đặt và tiện ích bình thường ít bị chấm là bot hơn một bản headless trần. Hướng dẫn fingerprint trình duyệt giải thích cách môi trường trình duyệt được đọc.
- Giữ phiên ấm. Giữ cookie qua các request, và đừng bắt đầu mỗi trang từ trạng thái trống.
- Điều tiết request. Người truy cập thật không tải một trăm trang trong một giây. Thêm độ trễ và ngẫu nhiên hóa chúng trong một khoảng hợp lý.
- Tránh các dấu hiệu lộ liễu. User agent mặc định, thiếu cài đặt ngôn ngữ và kích thước màn hình không nhất quán là những tín hiệu dễ thấy và dễ sửa.
- Kiểm thử với ngưỡng của chính bạn. Nếu bạn vận hành trang, đọc điểm trong staging và kiểm tra tín hiệu nào kéo điểm xuống. Khóa thử nghiệm của Google hữu ích để kiểm thử việc tích hợp mà không có chấm điểm thật.
Các bước này giảm kết quả dương tính giả trên công việc thật. Chúng không phải cách để làm giả điểm người thật phục vụ mục đích lạm dụng, và không cách tiếp cận nào ở đây thay đổi việc chủ trang là người quyết định ngưỡng.
Điểm số không làm được gì
Điểm số không chứng minh được một người truy cập là người thật, và nó không cho bạn biết vì sao một người truy cập bị điểm thấp. Điểm thấp có thể đến từ một trình duyệt không phổ biến nhưng hợp pháp, một mạng dùng chung, hoặc VPN. Hãy coi điểm số là một đầu vào trong nhiều đầu vào. Nếu công việc hợp pháp của bạn liên tục bị điểm thấp, câu trả lời trung thực thường là xin chủ trang đưa vào danh sách cho phép hoặc tìm một API.
Scarnox đứng ở đâu
Scarnox hiện chưa giải reCAPTCHA v3 trực tiếp. Loại task đang hoạt động duy nhất là PopularCaptcha, proxyless. reCAPTCHA v3 sắp ra mắt. Một bộ giải dựa trên điểm số phải trả về một token mà trang chấp nhận, đó là một bài toán khác với giải một câu đố hiển thị, nên chi tiết tích hợp sẽ được tài liệu hóa trong tài liệu API khi hỗ trợ ra mắt.
Tạo tài khoản để bắt đầu với tín dụng dùng thử miễn phí, không cần thẻ, và bạn sẽ sẵn sàng khi loại này hoạt động.
Đọc điểm số trong log của chính bạn
Vì không có thử thách hiển thị, cách duy nhất để hiểu một lỗi dựa trên điểm là ghi log nó. Trên trang của bạn, hãy ghi lại điểm, tên hành động và cờ thành công mà backend nhận được từ lệnh xác minh, cùng với dấu thời gian của request và đường dẫn nó đến từ. Qua một tuần lưu lượng, mẫu thường cho thấy trang hoặc luồng nào có điểm thấp. Một luồng luôn thấp có thể là vấn đề thật với người dùng hợp pháp, chẳng hạn một bước đăng ký diễn ra quá nhanh sau khi tải trang, chứ không phải vấn đề bot.
Cũng hãy so sánh điểm cho cùng một hành động giữa các trình duyệt và mạng khác nhau. Nếu một người dùng bình thường trên kết nối gia đình có điểm tốt, nhưng cùng người đó qua VPN công ty lại có điểm kém, thì điểm số đang phản ứng với mạng, không phải với trình duyệt, và cách sửa là một cuộc trao đổi về quyền truy cập chứ không phải thay đổi tự động hóa.
Giữ log không chứa dữ liệu cá nhân. Điểm và tên hành động là đủ để chẩn đoán hầu hết vấn đề, và lưu nhiều hơn mức cần thiết sẽ tạo ra nghĩa vụ về quyền riêng tư mà bạn không muốn có.
Scrape có trách nhiệm
Kiểm tra robots.txt và điều khoản của trang trước một công việc scraping. Giữ tốc độ thấp, tránh thu thập dữ liệu cá nhân mà bạn không cần, và nhớ rằng kiểm tra dựa trên điểm là cách trang đã chọn để tự bảo vệ. Cố vượt qua nó ở quy mô lớn là dấu hiệu công việc đó cần được xem xét lại hoặc được chủ trang đồng ý. Hướng dẫn tính hợp pháp của web scraping bao quát bức tranh rộng hơn.