Arkose Labs FunCaptcha là gì: thử thách enforcement và cách giải
Arkose Labs, mà nhiều lập trình viên vẫn quen gọi là FunCaptcha, là nhà cung cấp captcha được nhiều website lớn dùng cho đăng ký, đăng nhập và thanh toán. Tính năng nổi tiếng nhất của họ là thử thách enforcement: một câu đố ngắn kiểu trò chơi, chẳng hạn xoay một vật thể hay ghép một mẫu, xuất hiện khi hệ thống rủi ro quyết định người truy cập cần được kiểm tra thêm. Hỗ trợ Arkose trên Scarnox sắp ra mắt. Hướng dẫn này giải thích thử thách hoạt động ra sao, vì sao chúng khó hơn các widget đơn giản, và các hướng tiếp cận chung cho công việc hợp pháp.
Thử thách Arkose được gửi đến như thế nào
Trang được bảo vệ tải script của Arkose và truyền cho nó một public key để nhận diện website. Chính thử thách được phục vụ từ phía nhà cung cấp, còn widget trả về câu trả lời của người truy cập dưới dạng một token. Như các widget token khác, backend của website kiểm tra token đó với nhà cung cấp trước khi tin kết quả.
Public key là định danh bạn tìm khi muốn làm việc với một trang, giống như sitekey nhận diện widget PopularCaptcha hay reCAPTCHA. Hướng dẫn tìm sitekey captcha giải thích cách tìm các định danh này trên trang.
Thử thách trông như thế nào
Thử thách Arkose thường ngắn và mang tính trực quan. Ví dụ gồm xoay một hình cho đến khi thẳng đứng, chọn đúng phần tử trong một nhóm, hoặc theo dõi một chuỗi trong cảnh 3D. Thiết kế thay đổi thường xuyên, và mỗi website có thể dùng một bộ thử thách khác nhau. Bản thân câu đố cũng là một tín hiệu: cách người truy cập di chuyển và thời gian họ mất có thể quan trọng không kém đáp án cuối cùng.
Hệ thống chấm điểm rủi ro
Trước khi hiển thị thử thách, nhà cung cấp chấm điểm phiên. Điểm này dựa trên tín hiệu trình duyệt, đặc điểm thiết bị, lịch sử yêu cầu và hành vi trên trang. Người truy cập rủi ro thấp có thể qua mà không gặp thử thách nào. Người có rủi ro cao hơn sẽ thấy một hoặc nhiều câu đố, còn người có rủi ro rất cao có thể bị chặn.
Vì hệ thống rủi ro được điều chỉnh riêng cho từng website và thay đổi theo thời gian, một cách tiếp cận chung có thể chạy tốt trên trang này nhưng thất bại trên trang khác. Đó là một lý do khiến thử thách enforcement khó xử lý hơn các widget đơn giản.
Vì sao tự động hóa dễ bị phát hiện
Tự động hóa bị đánh dấu vì những lý do giống các kiểm tra dựa trên điểm số khác: trình duyệt headless mặc định, một phiên mới chưa có lịch sử, mẫu yêu cầu nhanh và đều đặn, và địa chỉ mạng có uy tín kém. Mỗi tín hiệu làm tăng điểm rủi ro. Thử thách sau đó yêu cầu điều mà tự động hóa khó làm tốt, chẳng hạn một thao tác kéo chính xác và giống người thật.
Các hướng tiếp cận hợp pháp
Với việc kiểm thử của riêng bạn và các quy trình hợp pháp, những cách sau giúp giảm các thử thách không cần thiết:
- Dùng hồ sơ trình duyệt thật với cài đặt nhất quán, thay vì một bản tự động hóa đã bị lược bỏ.
- Giữ phiên liên tục để người truy cập không trông như mới tinh ở mỗi trang.
- Điều tiết tốc độ yêu cầu ở mức một người bình thường có thể tạo ra.
- Dùng môi trường thử nghiệm của nhà cung cấp nếu website là của bạn. Arkose và hầu hết nhà cung cấp lớn đều có cách để kiểm thử tích hợp mà không chịu chấm điểm rủi ro thật.
- Hỏi chủ website về danh sách cho phép, API hoặc một phương án thay thế dễ tiếp cận nếu công việc của bạn hợp pháp nhưng vẫn bị chặn.
Những cách này làm giảm tần suất thử thách xuất hiện. Chúng không loại bỏ quyền của nhà cung cấp trong việc thách thức một phiên, và không nên dùng để vượt lớp bảo vệ đăng nhập trên tài khoản mà bạn không sở hữu.
Bộ giải Arkose sẽ làm gì
Một bộ giải Arkose dựa trên token sẽ nhận public key và URL trang, tạo ra một token hợp lệ và trả về cho mã của bạn. Sau đó mã của bạn gửi token cùng form trước khi nó hết hạn. Cấu trúc tích hợp sẽ giống luồng PopularCaptcha đang chạy, nhưng chi tiết khác nhau, và Scarnox sẽ ghi rõ loại tác vụ và các trường trong tài liệu API khi hỗ trợ được phát hành.
Hiện tại Scarnox chưa giải Arkose theo thời gian thực. Loại tác vụ duy nhất đang chạy là PopularCaptcha, proxyless. Hỗ trợ Arkose sắp ra mắt.
Ranh giới đạo đức nằm ở đâu
Thử thách enforcement tồn tại để bảo vệ trang đăng nhập, luồng thanh toán và form đăng ký khỏi lạm dụng. Dùng bất kỳ bộ giải nào trên các luồng này để đăng nhập vào tài khoản bạn không sở hữu, tạo tài khoản spam, hoặc mua hàng có số lượng giới hạn trước các khách hàng khác đều nằm ngoài giới hạn cho phép. Scarnox không hỗ trợ những mục đích đó. Công việc hợp pháp trên một website được bảo vệ nên bắt đầu bằng việc hỏi chủ website, và câu trả lời của họ quyết định điều gì được phép.
Kiểm tra gì trước khi bắt đầu một công việc
Trước khi lên kế hoạch cho bất kỳ công việc nào nhắm vào một luồng được bảo vệ bởi Arkose, hãy tự trả lời vài câu hỏi. Luồng đó có phải của bạn không? Nếu có, môi trường thử nghiệm của nhà cung cấp và bản staging của riêng bạn là nơi nên xây dựng và kiểm thử. Công việc có hợp pháp không? Thu thập thông tin công khai theo cách website cho phép là hợp pháp; đăng nhập vào tài khoản không phải của bạn, hoặc tạo tài khoản với số lượng lớn, thì không. Website có cung cấp API hay nguồn dữ liệu nào khiến quy trình trình duyệt không cần thiết không? Nhiều website có, và cách đó nhanh hơn, ổn định hơn so với tự động hóa một thử thách.
Sau đó hãy xem khối lượng. Thử thách enforcement phản ứng với hành vi theo thời gian, nên một công việc chạy ở tốc độ thấp và đều đặn thường gặp ít thử thách hơn một đợt bùng nổ chạy cùng lúc. Lên lịch với điều đó trong đầu, và đảm bảo công việc dừng lại và báo cáo khi gặp một thử thách mà nó không được thiết kế để xử lý, thay vì thử lại trong vòng lặp.
Cuối cùng, hãy quyết định trước việc công việc sẽ làm gì khi không thể hoàn thành thử thách. Một lần thất bại gọn gàng kèm bản ghi log tốt hơn nhiều so với một đợt thử lại dồn dập, vừa làm hỏng website vừa khiến lưu lượng của bạn bị chặn.
Thu thập dữ liệu một cách có trách nhiệm
Nếu website được bảo vệ là nơi bạn định thu thập dữ liệu, hãy kiểm tra robots.txt và điều khoản sử dụng trước. Giữ tốc độ thấp, tránh dữ liệu cá nhân mà bạn không cần, và tìm API trước khi xây dựng quy trình trình duyệt. Hướng dẫn thu thập dữ liệu web có hợp pháp không trình bày các câu hỏi chính.