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 reCAPTCHA v3, 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 reCAPTCHA v3 để 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ý.
Khi kiểm thử biểu mẫu chứa reCAPTCHA v3, bạn thường phải xác minh xem captcha đã tích hợp đúng và hoạt động ổn định chưa.
Bạn có thể tự kiểm tra captcha trên site.
Để giải tự động có thể dùng CapMonster Cloud, dịch vụ nhận tham số captcha, xử lý trên máy chủ của họ và trả về token sẵn dùng. Chèn token này vào form để vượt qua kiểm tra mà không cần tương tác người dùng.
Làm việc với CapMonster Cloud qua API thường gồm các bước:
Trong yêu cầu giải reCAPTCHA v3, bạn cần chỉ định các tham số sau:
type - RecaptchaV3TaskProxyless;
websiteURL - địa chỉ trang nơi captcha được giải;
websiteKey - khóa định danh (sitekey) được chỉ định trên trang có captcha của trang web bạn;
minScore - có thể nhận giá trị từ 0.1 đến 0.9;
pageAction - giá trị của tham số action được widget ReCaptcha của Google gửi đi. Giá trị mặc định: verify.
https://api.capmonster.cloud/createTask{
"clientKey": "API_KEY",
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta",
"websiteKey": "6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob",
"minScore": 0.7,
"pageAction": "myverify"
}
}
{
"errorId":0,
"taskId":407533072
}
https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "3AHJ_VuvYIBNBW5yyv0zRYJ75VkOKv…hKj9_xGBJKnQimF72rfoq3Iy-DyGHMwLAo6a3"
}
}
const { chromium } = require('playwright');
const {
CapMonsterCloudClientFactory,
ClientOptions,
RecaptchaV3ProxylessRequest
} = require('@zennolab_com/capmonstercloud-client');
(async () => {
const TARGET_URL = 'https://lessons.zennolab.com/captchas/recaptcha/v3.php?level=beta'; // URL trang có captcha của bạn
const SITE_KEY = '6Le0xVgUAAAAAIt20XEB4rVhYOODgTl00d8juDob';
const API_KEY = 'your_capmonster_cloud_api_key'; // Chỉ định API key CapMonster Cloud của bạn
// Khởi tạo client CapMonster
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: API_KEY }));
// Mở trình duyệt
const browser = await chromium.launch({ headless: false });
const page = await browser.newPage();
await page.goto(TARGET_URL, { waitUntil: 'domcontentloaded' });
// Cấu hình task reCAPTCHA v3
const recaptchaRequest = new RecaptchaV3ProxylessRequest({
websiteURL: TARGET_URL,
websiteKey: SITE_KEY,
minScore: 0.6,
pageAction: 'myverify', // Đảm bảo trùng khớp với action trên trang
});
// Tiến hành giải captcha
const solution = await cmcClient.Solve(recaptchaRequest);
const token = solution.solution?.gRecaptchaResponse;
if (!token) {
console.error('Токен пустой, проверьте sitekey и URL');
await browser.close();
return;
}
console.log('Đã nhận token:', token);
// Chèn token vào trường ẩn và mô phỏng click vào nút
// Thay bằng các selector cần dùng
await page.evaluate((t) => {
const input = document.querySelector('#v3_token');
if (input) input.value = t;
const form = document.querySelector('#v3_form');
if (form) form.submit();
}, token);
console.log('Token đã được chèn và form đã được gửi');
await page.waitForTimeout(5000);
await browser.close();
})();1. Truy cập trang bảng điều khiển reCAPTCHA.
2. Đăng ký một website mới và chọn loại captcha — reCAPTCHA v3

3. Nhận hai khóa:

Bạn có thể mở phần cài đặt, ví dụ để chỉ định thêm các domain được phép sử dụng reCAPTCHA hoặc cấu hình cảnh báo khi website gặp sự cố hoặc lưu lượng đáng ngờ tăng cao.
4. Ví dụ mã cho phía client
Cách đơn giản nhất để dùng reCAPTCHA v3 là kết nối JavaScript API và thêm thuộc tính vào nút bấm.
Kết nối API:
<script src="https://www.google.com/recaptcha/api.js"></script>Hàm callback cho form:
<script>
function onSubmit(token) {
document.getElementById("form").submit();
}
</script>
Nút bấm với các thuộc tính reCAPTCHA:
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_sitekey"
data-callback='onSubmit'
data-action='submit'>Submit</button>
Để toàn quyền kiểm soát, hãy dùng grecaptcha.execute với tham số render:
Kết nối API với khóa:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>Gọi bằng mã JavaScript:
<script>
function onClick(e) {
e.preventDefault();
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_sitekey', {action: 'submit'}).then(function(token) {
// Gửi token lên server để kiểm tra
});
});
}
</script>
Token nên được gửi ngay lập tức lên server để xác minh.
Lưu ý quan trọng:
5. Thực hiện kiểm tra phản hồi ở phía server
<?php
// Secret key reCAPTCHA v3 của bạn
$secret = 'YOUR_SECRET_KEY';
// Nhận token từ form
$token = $_POST['recaptcha-token'] ?? '';
// Gửi request tới Google để kiểm tra token
$response = file_get_contents(
"https://www.google.com/recaptcha/api/siteverify?secret={$secret}&response={$token}"
);
$result = json_decode($response, true);
// Kiểm tra trạng thái thành công và điểm tin cậy
if ($result['success'] && $result['score'] >= 0.5 && $result['action'] === 'submit') {
echo "Kiểm tra thành công";
} else {
http_response_code(403);
echo "Kiểm tra thất bại";
}
?>
Lưu ý:
<input type="hidden" name="recaptcha-token" id="recaptcha-token">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 reCAPTCHA v3, 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 reCAPTCHA v3 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ó.