Hướng dẫn dùng reCaptcha tạo xác minh robot chống spam website

ReCaptcha là gì?

Đây là một loại mã xác minh người truy cập trang web của chúng ta không phải là robot mà là người thật được phát triển bởi Google.

Hướng dẫn dùng reCaptcha tạo xác minh robot chống spam website

Tại sao phải sử dụng reCaptcha?

Sử dụng nó để chống các đối tượng spam, các thủ thuật curl để post bài, leech bài từ xa hoặc để auto check pass login vào website của chúng ta.

Thường thì reCaptcha hay được sử dụng tại các trang Đăng kí, đăng nhập hoặc một mục đích nào đó của các bạn.

Đây được coi là một mã bảo mật cực kì thông minh tới thời điểm hiện tại (27/8/2016) mình viết bài này thì chưa có cách nào được xem là vượt qua được.

Cách sử dụng:

Bước 1: Truy cập Link Này của google để đăng kí:

Hướng dẫn dùng reCaptcha tạo xác minh robot chống spam website

Các bạn điền thông tin để đăng kí website dùng captcha với google.

Sau khi đăng kí bạn sẽ nhận được 2 thông tin quan trọng là site key và secret key

Hướng dẫn dùng reCaptcha tạo xác minh robot chống spam website

Bước 2: Áp dụng

Giả định ra bài toán bây giờ là trên trang a.php chúng ta có một form

và khi người dùng xác minh không phải là robot thì ta hiện dòng chữ "Bạn không phải là robot" còn nếu không xác minh hoặc xác minh không đúng thì ta sẽ hiện "Bạn là robot" nhé.

Code tại trang a.php:

<?php
//cấu hình thông tin do google cung cấp
$api_url     = 'https://www.google.com/recaptcha/api/siteverify';
$site_key    = '6LfNABYTAAAAAPICpbw4l4YbZ7ncFj-javBVAstB';
$secret_key  = '6LfNABYTAAAAADRDMAycxF7ejcelEH7jz1UgCN3i';
  
//kiem tra submit form
if(isset($_POST['submit']))
{
    //lấy dữ liệu được post lên
    $site_key_post    = $_POST['g-recaptcha-response'];
      
    //lấy IP của khach
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $remoteip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $remoteip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $remoteip = $_SERVER['REMOTE_ADDR'];
    }
     
    //tạo link kết nối
    $api_url = $api_url.'?secret='.$secret_key.'&response='.$site_key_post.'&remoteip='.$remoteip;
    //lấy kết quả trả về từ google
    $response = file_get_contents($api_url);
    //dữ liệu trả về dạng json
    $response = json_decode($response);
    if(!isset($response->success))
    {
        echo 'Captcha khong dung';
    }
    if($response->success == true)
    {
        echo 'Captcha dung';
    }else{
        echo 'Captcha khong dung';
    }
}
?>
<script src="https://www.google.com/recaptcha/api.js?hl=vi"></script>
<form action="" method="POST">
    <div class="g-recaptcha" data-sitekey="<?php echo $site_key?>"></div>
    <input type="submit" name="submit" value="submit">
</form>
 

OK. Như vậy mình đã hướng dẫn các bạn cách thêm google recaptcha vào website,nó tuy đơn giản nhưng cũng rất quan trọng đó nhé.

Các bạn lưu ý dòng $site_key_post    = $_POST['g-recaptcha-response']; trong code của mình:

Biến $_POST['g-recaptcha-response'] là do scipt reCapcha tự tạo ra khi người dùng click vào xác minh. 

Có rất nhiều trường hợp mọi người test demo thì hoạt động nhưng khi tích hợp vào website thì lại không được. Test kĩ hơn thì bạn lại thấy biến $_POST['g-recaptcha-response'] này không hề có dữ liệu.

Đừng lo nguyên nhân chính là do bạn đặt các thẻ

và
không đúng vị trí nên nó sẽ không hoạt động. Các bạn nên sửa lại cho đúng theo thứ tự. 

Ví dụ sai:

<fom>
<div>
</form>
</div>

Bạn phải sử lại thành:

 
 <form>
<div>
</div>
</form>

hoặc

<div>
<form>
</form>
</div>
 

 

Chúc may mắn.

 

Từ Khóa

sử dụng recaptcha, giải pháp chống spam trang web, chống robot curl website, sử dụng mã xác minh google, lỗi reCaptcha không hoạt động, cách giúp web chặn spam và leech dữ liệu, chống tấn công web từ xa

Tác giả: Lê Văn Toàn
27-08-2016
Note Nếu bạn có bất cứ thắc mắc gì về bài viết này. hãy để lại bình luận. Quan quản trị sẽ trả lời lại bạn ngay lập tức.

Đánh Giá


Cùng Tác Giả.

Chọn hướng đẹp cho bếp
Những chỗ đặt bếp thích hợp hoặc không nên đặt bếp, không phải nhất thành bất biến mà còn phải xem quan hệ giữa phương vị của bếp với “trạch” và “mệnh”.
Văn 7 Soạn bài qua đèo ngang
Hướng dẫn Soạn bài qua đèo ngang của chương trình văn học lớp 7. Giúp cho các em học tốt môn ngữ văn của mình cũng như các quý phụ huynh tham khảo để giản dạy cho các em.
Bí quyết để thu hút khách hàng trong kinh doanh
Trung tâm thương mại là nơi mua sắm tiện nghi và thoải mái, tập trung rất nhiều khách hàng. Tiền sẽ chảy nhiều hơn vào các gian hàng được bố trí và thiết kế hợp phong thuỷ. Bởi lẽ, nơi nào thu nhận được nhiều khí tốt sẽ đón nhận được nhiều khách hàng đến mua bán.
Thiết kế căn hộ chung cư hợp phong thủy
Ngoài giá cả, vị trí, chất lượng xây dựng…, một yếu tố hiện được khá nhiều người mua căn hộ chung cư cân nhắc là vấn đề phong thủy của cả tòa nhà, cũng như của từng căn hộ riêng lẻ.
Nhận biết khí xấu quanh nhà và cách hóa giải
Cảnh quan xung quanh ngôi nhà có ảnh hưởng rất lớn đến sinh khí của ngôi nhà và cuộc sống của những người cư ngụ trong đó. Tuy nhiên, không thể lựa chọn một vị trí hoàn hảo phù hợp với tất cả các nguyên tắc phong thuỷ, sẽ có một vài yếu tố phạm phải phong thuỷ. Vì vậy, cần tìm cách hoá giải phù hợp để cân bằng âm – dương.
Kê giường ngủ hợp phong thủy rước tài lộc vào nhà
Phong thủy học cho rằng, nếu gia chủ kê giường ngủ hợp phong thủy sẽ không chỉ giúp ngủ ngon, các mối quan hệ được cải thiện tích cực mà còn liên kết trực tiếp đến vấn đề tài lộc của gia đình bạn. Vì vậy, việc kê đặt giường ngủ trong phòng như thế nào rất quan trọng. Theo đó, bạn nên tìm hiểu những kiến thức phong thủy cơ bản về vấn đề này.
Văn 7 Soạn bài kiểm tra phần văn lớp 7
Hướng dẫn Soạn bài kiểm tra phần văn lớp 7 của chương trình văn học lớp 7. Giúp cho các em học tốt môn ngữ văn của mình cũng như các quý phụ huynh tham khảo để giản dạy cho các em.
Treo tranh phượng hoàng trong phòng ngủ giúp cuộc sống hôn nhân hạnh phúc
Phượng hoàng là một loại chim mang lại may mắn, tốt lành. Phượng hoàng trống và mái bay sóng đôi bên nhau tượng trưng cho vợ chồng hòa hợp.
Bố trí hài hòa cho bếp và chậu rửa
Khoa học phong thủy cho rằng, nhà bếp không chỉ để nấu nướng mà khu vực này còn có nhiều “kiêng kỵ”, đây cũng chính là nơi tăng thêm vận khí cho chủ nhân. Trong gian bếp có 2 yếu tố xung khắc, đối lập với nhau là chậu rửa và bếp (nước và lửa), vì thế để có sự hài hòa nhất định thì cần phải bố trí bếp và bồn rửa một cách hợp lý.
Cửa trước thông thoáng, tài lộc rủ nhau vào
Sinh khí của trời đất vào nhà qua cửa nhà và cửa sổ, nếu để đầy những thứ linh tinh ở ngoài cửa thì cũng giống như để nhiều chướng ngại vật, làm cho sinh khí không thể tiến vào trong, còn khí độc cũng không thể thoát ra ngoài một cách dễ dàng. Như vậy sẽ ảnh hưởng đến chức năng nhận và thải khí qua cửa.

Chúng tôiĐiều khoảnHỏi đápKiếm tiền