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ả.

Nguyên tắc phong thủy cho công ty mới thành lập
Không gian văn phòng cần phải được giữ gìn ngăn nắp, sạch sẽ và không có mùi hôi thối.
Phong thủy cho vợ chồng hạnh phúc, thủy chung
Nếu biết vận dụng tốt những nguyên lý và giải pháp phong-thủy, sẽ góp phần tạo được cuộc sống tốt đẹp sau khi kết hôn, tình cảm được nuôi dưỡng và phát triển lâu bền.
Thảm cho cửa chính mang lại vận may
Chọn thảm theo phong thủy rất quan trọng bởi những đồ vật được dùng để trang trí nội thất cho căn nhà đều toát ra những năng lượng khác nhau.
Văn lớp 9 Soạn bài con cò
Hướng dẫn Soạn bài con cò của chương trình văn học lớp 9. 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.
Tính yêu thăng hoa nhờ những thay đổi nhỏ trong phong thủy
Những thay đổi nhỏ trong nhà cũng có thể mang đến cho bạn may mắn và mặn nồng hơn trong tình yêu.
Chọn màu sắc cửa chính theo màu sắc ngũ hành của bản mệnh
Tốt nhất màu sắc của cửa chính nên chọn màu theo phong thủy, kết hợp với màu sắc Ngũ hành của chủ nhà, như vậy cửa nhà mới hoàn mỹ hơn.
Nguyên tắc bài sơn theo phong thủy
Đối với mỗi căn nhà, “bài sơn” tức là trang trí hòn giả sơn hay xây dụng non bộ theo Phong thủy sẽ mang lại sự hòa hợp âm dương, mang lại sự tương sinh thuận hòa trong cuộc sống gia đình.
Những nguyên tắc cơ bản trong phong thủy
Phong thủy là nghệ thuật sắp đặt các món đồ trong nhà để tạo ra dòng chảy năng lượng tốt nhất cho bạn. Nó bao gồm một loạt nguyên tắc cơ bản để tạo nên một nơi trú ẩn yên bình, khỏe mạnh. Sau đây là những lời khuyên đơn giản nhất.
Phòng ngủ không nên bố trí ngay phía sau bàn thờ
Một trong những cấm kỵ của Phong thủy cũng như của phong tục truyền thống dân gian là phòng ngủ không nên bố trí ngay phía sau bàn thờ, trang thờ thần phật, Tổ tiên.
Cách hóa giải cho các đại kỵ trong nhà ở
Không ít những ngôi nhà được xây dựng và bài trí có nhiều điểm phạm vào đại kỵ theo phong thủy. Dưới đây là một vài cách hóa giải và giảm bớt những đại kỵ đó, cân bằng thêm cuộc sống cho gia đình bạn.

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