Trong bài viết này, chúng tôi đã cố gắng trả lời tất cả những câu hỏi quan trọng. Bước đầu tiên để bắt đầu giải quyết vấn đề là xác định hệ thống bảo mật nào đang được sử dụng. Để làm điều đó, bạn có thể tham khảo danh sách các captcha và hệ thống chống bot phổ biến, trong đó có các ví dụ minh họa và những dấu hiệu chính giúp bạn nhanh chóng nhận biết mình đang làm việc với giải pháp nào.
Nếu bạn phát hiện trang web của mình đang sử dụng Cloudflare Waiting Room, bước tiếp theo là tìm hiểu chi tiết hơn về các đặc tính và cách hoạt động của nó. Ngay trong bài viết này, bạn cũng có thể xem hướng dẫn tích hợp hệ thống Cloudflare Waiting Room để hiểu đầy đủ cách nó vận hành trên trang web của bạn. Điều đó giúp bạn không chỉ nắm rõ lớp bảo vệ hiện tại mà còn lập kế hoạch bảo trì một cách hợp lý.
Cách giải quyết Waiting Room qua CapMonster Cloud
Khi kiểm thử cơ chế Waiting Room, điều quan trọng là phải đảm bảo hàng đợi hoạt động chính xác và điều tiết quyền truy cập vào trang web.
Dưới đây là cách bạn có thể kiểm tra điều này:
- Mở trang nơi Waiting Room được kích hoạt và đảm bảo hàng đợi xuất hiện khi vượt quá giới hạn người dùng.
- Thử truy cập trang web từ nhiều thiết bị hoặc trình duyệt cùng lúc để tạo tải giả lập — một số yêu cầu sẽ được đưa vào hàng đợi.
- Xác minh rằng người dùng được đưa vào hàng đợi nhìn thấy trang chờ và sau đó tự động được đưa vào trang web khi có chỗ trống.
- Đảm bảo rằng việc tải lại trang không xóa người dùng khỏi hàng đợi.
Để kiểm thử tự động và nhận dạng captcha, bạn có thể sử dụng các dịch vụ chuyên dụng, chẳng hạn như CapMonster Cloud — một công cụ chấp nhận các tham số captcha, xử lý chúng trên máy chủ và trả về giải pháp sẵn sàng sử dụng. Giải pháp này (token hoặc cookie) có thể được chèn vào biểu mẫu hoặc trình duyệt để vượt qua xác minh mà không cần sự tương tác của người dùng.
Làm việc với CapMonster Cloud qua API thường gồm các bước:
Các tham số sau phải được chỉ định trong yêu cầu để giải quyết Cloudflare Waiting Room:
type - TurnstileTask;
websiteURL - URL của trang nơi có thử thách (challenge);
websiteKey - Khóa Cloudflare (key) trên trang đích;
cloudflareTaskType - wait_room;
htmlPageBase64 - Trang HTML được mã hóa Base64 chứa tiêu đề <title>Waiting Room powered by Cloudflare</title>;
userAgent - User-Agent của trình duyệt. Chỉ chuyển một UA cập nhật từ hệ điều hành Windows;
Ngoài ra, đối với tác vụ này, bạn phải sử dụng proxy của riêng mình:
proxyType :
- http - proxy HTTP/HTTPS tiêu chuẩn;
- https - thử tùy chọn này nếu "http" không hoạt động (bắt buộc đối với một số proxy tùy chỉnh);
- socks4 - proxy SOCKS4;
- socks5 - proxy SOCKS5;
proxyAddress - Địa chỉ IPv4/IPv6 của Proxy;
proxyPort - Cổng (Port) của Proxy;
proxyLogin - Tên đăng nhập máy chủ Proxy;
proxyPassword - Mật khẩu máy chủ Proxy.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"TurnstileTask",
"websiteURL":"https://example.com",
"websiteKey":"xxxxxxxxxx",
"cloudflareTaskType": "wait_room",
"htmlPageBase64": "PCFET0NUWVBFIGh0...vYm9keT48L2h0bWw+",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere"
}
}{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}{
"errorId": 0,
"status": "ready",
"solution": {
"cf_clearance": "1tarGvbY2_ZhQdYxpSBloao.FoOn9VtcJtmb_IQ_hCE-1761217338-1.2.1.1-vyVPoLYIGX0VCJomVuLjF7n0kdM0PXaPjpDsRcohxGr7hb2CE7WfcHpmQZ70goqEjdWxPsDhSVaKNTz9opxWguiNdWEEq_.SceWXIqfP7tnEb69f3bP0mixNqcWy_5P_9INpoAEqr1k7aYU0r45PT4gPr5pwHxedVySyLRdoBXIJasdTE52YOQ3NPdGWTwQ_3h2n_wYqqIvf0kCSAvimRrmsgZxomlyejwqPI6ZHi.w"
}
}Giải pháp nhận được (cookie cf_clearance) có thể được đặt trong trình duyệt hoặc gửi cùng với yêu cầu HTTP bằng cách chỉ định nó trong tiêu đề Cookie: cf_clearance=
Dưới đây là ví dụ về yêu cầu đến trang của bạn với các giá trị cookie đã lấy trước đó. Điều này hữu ích cho việc kiểm thử: bạn có thể chuyển cả giá trị đúng và giá trị cố tình sai để đảm bảo logic xử lý truy cập và xác thực của bạn hoạt động chính xác.
GET https://example.com/
sec-ch-ua: "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site: same-origin
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: document
accept-encoding: gzip, deflate, br
accept-language: en-US
cookie: cf_clearance=Jf0udVxx.pxJMEHnish22ZOFt4WZEh8iLKm62gIxQAw-1760087570-1.2.1.1-IAO44jrcaDIU6v3f01Q6MpH58vo521.cgZg9OG5ASav.EIf9fmqH2yETyPkmm7dExFNlRL.dYv6xA4iPtlwMepInUaeFinDbYtoMstD_9Vyexx2B2K.r4eJb9zMCQc0XA3yYDHViOC7cYBYHi58FbvycjBe4o236lyz2eoyC48IS.K1zSsVdqBqIoXIT4tEFYdibXdWudtp57lmyjwpryZy..fGFAcFjAGn3iho98_4
sec-ch-ua-arch: "x86"
sec-ch-ua-bitness: "64"
sec-ch-ua-full-version: "141.0.7390.55"
sec-ch-ua-platform-version: "19.0.0"
sec-ch-ua-model: ""
sec-ch-ua-full-version-list: "Google Chrome";v="141.0.7390.55", "Not?A_Brand";v="8.0.0.0", "Chromium";v="141.0.7390.55"
Origin: https://example.com
Upgrade-Insecure-Requests: 1- Gói Cloudflare: Waiting Room có sẵn cho gói Business và Enterprise.
- CDN và Proxy: Trang web của bạn phải được kết nối với Cloudflare và bản ghi DNS cho tên miền hoặc tên miền phụ phải được proxy (đám mây cam).
- Cookies: Khách truy cập phải hỗ trợ cookie, vì Cloudflare sử dụng chúng để theo dõi vị trí hàng đợi.
- Quyết định trang/người dùng nào sẽ ở trong hàng đợi và ai sẽ bỏ qua Waiting Room (ví dụ: quản trị viên, VIP, đường dẫn cụ thể).
1. Đăng ký với Cloudflare và kết nối trang web của bạn.
2. Trong phần Traffic → Waiting Room, tạo một hàng đợi mới:
3. Nhấp vào Create Waiting Room (Tạo phòng chờ).
Chỉ định:
- Hostname / URL nơi Waiting Room sẽ hoạt động.
- Tên Waiting Room (để ghi chép nội bộ).
- Số lượng người dùng hoạt động đồng thời tối đa (tùy chọn, nếu cần giới hạn tải).
4. Tùy chỉnh thiết kế trang chờ:
- Bạn có thể sử dụng mẫu Cloudflare hoặc HTML/CSS tùy chỉnh.
- Thêm logo, thông tin thời gian chờ và hướng dẫn cho người dùng.
5. Lưu và kích hoạt Waiting Room.
6. Cấu hình Quy tắc (Rules)
Cloudflare cho phép loại trừ lưu lượng truy cập cụ thể khỏi hàng đợi.
Các quy tắc Bỏ qua (Bypass) điển hình:
- Địa chỉ IP quản trị viên (Admin): luôn cho phép.
- Đường dẫn/URL: loại trừ các tệp tĩnh (.js, .css, .png) hoặc các trang cụ thể.
- Nhắm mục tiêu theo địa lý: loại trừ các quốc gia cụ thể.
- Chuỗi truy vấn (Query string): loại trừ các tham số GET cụ thể.
- Trong Waiting Room → Manage Rules → Create new bypass rule.
Cấu hình:
- Tên quy tắc: Bypass JS Files
- Biểu thức: ends_with(http.request.uri.path, ".js")
- Hành động: Bypass Waiting Room
- Lưu và triển khai.
Tất cả các quy tắc bỏ qua cho phép loại trừ lưu lượng truy cập khỏi số lượng người dùng đang hoạt động để không ảnh hưởng đến hàng đợi.
Tính năng nâng cao:
- Sự kiện theo lịch trình: chỉ bật Waiting Room vào những thời điểm cụ thể (ví dụ: giảm giá).
- Phân tích: theo dõi số lượng người dùng trong hàng đợi, thời gian chờ và thông lượng.
- Tên máy chủ/đường dẫn bổ sung: một Waiting Room duy nhất có thể hoạt động trên nhiều tên miền phụ hoặc đường dẫn.
Quản lý qua API:
Cloudflare Waiting Room API cho phép bạn:
- Tạo, sửa đổi và xóa các quy tắc bỏ qua.
- Xem danh sách các quy tắc.
- Quản lý tất cả các cài đặt Waiting Room bằng lập trình.
POST zones/{zone_id}/waiting_rooms/{room_id}/rules
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"description": "Bypass admins",
"expression": "ip.src in { '1.2.3.4', '5.6.7.8' }",
"action": "bypass_waiting_room",
"enabled": true
}Xác minh hoạt động
1) Mở trang web từ các trình duyệt/thiết bị khác nhau.
2) Kiểm tra:
- Waiting Room có xuất hiện khi vượt quá giới hạn không?
- Vị trí hàng đợi có được giữ nguyên khi làm mới trang không?
- Các quy tắc bỏ qua có hoạt động không (ví dụ: IP quản trị viên đi qua mà không cần chờ)?
Các captcha được hỗ trợ
Nếu bạn tiếp quản một trang web đã được cài sẵn captcha hoặc một hệ thống bảo vệ khác nhưng lại không có quyền truy cập vào mã nguồn thì cũng không có gì đáng lo! Việc xác định chính xác công nghệ nào đang được sử dụng khá đơn giản. Để kiểm tra xem mọi thứ có hoạt động đúng hay không, bạn có thể dùng dịch vụ nhận dạng CapMonster Cloud trong một môi trường thử nghiệm tách biệt nhằm đảm bảo cơ chế xử lý token và logic kiểm tra đang vận hành chính xác.
Với Cloudflare Waiting Room, bạn chỉ cần nhận diện hệ thống, quan sát hành vi của nó và xác nhận rằng lớp bảo vệ hoạt động đúng cách. Trong bài viết này, chúng tôi đã chỉ ra cách nhận biết Cloudflare Waiting Room và nơi tìm hướng dẫn tích hợp hoặc cấu hình lại, giúp bạn tự tin duy trì lớp bảo vệ và kiểm soát hoạt động của nó.