Các loại captcha được giải thích, và loại nào bộ giải có thể xử lý
Có nhiều loại captcha chính. Một số yêu cầu người truy cập đọc hoặc chọn thứ gì đó, một số chạy kiểm tra ngầm, và một số kết hợp widget với kiểm tra phía máy chủ. Loại captcha quyết định cách một script có thể vượt qua nó, và loại nào bộ giải hỗ trợ quyết định bạn có dùng được hay không. Hướng dẫn này liệt kê các loại chính, giải thích cách mỗi loại hoạt động, và nêu trạng thái hỗ trợ hiện tại của Scarnox.
Tóm lại: hiện nay Scarnox có một loại tác vụ đang chạy là PopularCaptcha, proxyless. Các loại khác sắp ra mắt, và các phần dưới đây cho biết loại nào là loại nào.
Trạng thái hỗ trợ nhìn nhanh
| Loại captcha | Cách hoạt động | Trạng thái Scarnox |
|---|---|---|
| Widget PopularCaptcha | Widget ghi token vào h-captcha-response | Đang chạy (proxyless) |
| Thử thách văn bản và hình ảnh | Đọc hoặc chọn ký tự và vật thể | Không phải loại tác vụ đang chạy |
| Thử thách âm thanh | Chép lời một đoạn ghi âm | Không phải loại tác vụ đang chạy |
| Google reCAPTCHA v2 | Ô đánh dấu, kèm thử thách hình ảnh khi bị gắn cờ | Sắp ra mắt |
| Google reCAPTCHA v3 | Điểm số từ hành vi, không có thử thách | Sắp ra mắt |
| Cloudflare Turnstile | Kiểm tra trình duyệt không tương tác | Sắp ra mắt |
| Arkose Labs (FunCaptcha) | Thử thách enforcement kiểu trò chơi | Sắp ra mắt |
| GeeTest | Câu đố trượt và hình dạng | Sắp ra mắt |
| Captcha AWS WAF | Thử thách câu đố từ AWS WAF | Sắp ra mắt |
Hãy xem hướng dẫn API bộ giải captcha và tài liệu API trước khi xây dựng với bất kỳ loại nào. Bảng này phản ánh trạng thái tại thời điểm viết.
Captcha văn bản
Captcha văn bản hiển thị các ký tự bị làm méo và yêu cầu người dùng gõ lại. Việc làm méo nhằm đánh bại nhận dạng ký tự quang học đơn giản. Đây là loại lâu đời nhất và giờ hiếm gặp trên các website lớn, nhưng vẫn thấy trên các form nhỏ hơn và hệ thống cũ.
Captcha hình ảnh
Captcha hình ảnh yêu cầu bạn chọn mọi ô chứa một vật thể, chẳng hạn đèn giao thông, vạch sang đường hay cửa hàng. Thử thách là một bài toán phân loại, và phiên bản phức tạp có thể yêu cầu nhiều vòng. Các công cụ scraping và tự động hóa thường gặp loại này trên các website có lưu lượng lớn. Hướng dẫn OCR cho captcha văn bản và hình ảnh bao quát khía cạnh đọc của bài toán này.
Captcha âm thanh
Captcha âm thanh phát một chuỗi số hoặc từ được nói, thường như một tùy chọn trợ năng. Âm thanh bị làm nhiễu bằng tiếng ồn. Chúng tồn tại chủ yếu như một lựa chọn thay thế cho người dùng không nhìn thấy thử thách trực quan, đó là một lý do chúng nên được cung cấp cùng các phương án thay thế dễ tiếp cận chứ không nên bị tự động hóa.
Captcha câu đố
Captcha câu đố yêu cầu một hành động mang tính vật lý: trượt một mảnh vào khoảng trống, xoay một hình ảnh cho thẳng đứng, hoặc kéo một hình. Captcha trượt rất phổ biến, và GeeTest là nhà cung cấp nổi tiếng về loại này. Đáp án đến từ một vị trí hoặc một góc, và thử thách thường kiểm tra cách thao tác kéo được thực hiện, không chỉ điểm kết thúc.
Captcha ẩn và captcha dựa trên điểm số
Một số captcha chạy mà không có thử thách hiển thị. Trình duyệt thực hiện kiểm tra ngầm, và website quyết định từ kết quả đó có hiện thử thách hay không. Đây là điều người ta muốn nói khi nhắc đến "captcha ẩn". reCAPTCHA v3 đi xa hơn và trả về một điểm số thay vì đạt hoặc không đạt. Hướng dẫn captcha ẩn giải thích cách chế độ ẩn ảnh hưởng đến tích hợp bộ giải, và hướng dẫn điểm reCAPTCHA v3 trình bày chi tiết về chấm điểm.
Widget token
Widget token là một widget trên trang hoàn tất các kiểm tra của nó và ghi một token vào một trường form ẩn. Website gửi token đó đến nhà cung cấp, hoặc đến backend của chính nó, để xác minh. PopularCaptcha, reCAPTCHA v2 và Cloudflare Turnstile đều dùng mẫu này.
Đây là loại mà một bộ giải có thể xử lý mà không cần chạm vào thử thách hình ảnh. Bộ giải tạo ra token, và mã của bạn ghi nó vào form. Đó là lý do tích hợp PopularCaptcha chỉ dài vài dòng. Hướng dẫn giải captcha bằng Python trình bày luồng này.
Thử thách enforcement
Một số website lớn dùng thử thách enforcement kết hợp điểm rủi ro với một câu đố kiểu trò chơi. Arkose Labs, thường được gọi là FunCaptcha, là ví dụ nổi tiếng nhất. Các câu đố thay đổi thường xuyên và hệ thống rủi ro được điều chỉnh riêng cho từng website, khiến chúng khó xử lý bằng một cách tiếp cận chung.
Vì sao loại captcha quan trọng với code của bạn
Mỗi loại cần một loại bộ giải khác nhau:
- Thử thách nội dung cần một mô hình có thể đọc hoặc phân loại những gì hiển thị trên màn hình.
- Thử thách câu đố cần một mô hình ước lượng vị trí hoặc góc, cộng với thao tác kéo giống thật.
- Widget token cần một bộ giải tạo ra phản hồi hợp lệ cho nhà cung cấp.
Một bộ giải tuyên bố xử lý "mọi captcha" đáng để hoài nghi. Hãy hỏi nó hỗ trợ trực tiếp loại nào, và nó làm gì với những loại nó không hỗ trợ.
Phải làm gì với loại không được hỗ trợ
Nếu captcha bạn cần không nằm trong danh sách đang chạy, bạn có ba lựa chọn thực tế:
- Giảm tần suất kích hoạt nó, bằng các cách trong hướng dẫn tránh captcha khi scraping.
- Dùng khóa thử nghiệm hoặc môi trường staging nếu captcha bảo vệ hệ thống của chính bạn.
- Hỏi chủ website về API, danh sách cho phép hoặc phương án thay thế dễ tiếp cận.
Hỗ trợ cho các loại sắp ra mắt đang được phát triển. 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 sử dụng từng loại khi nó ra mắt.