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

Phong thủy màu sắc trong phòng khách
Cách lựa chọn và phối hợp màu sắc đóng vai trò quan trọng trong việc tạo thẩm mỹ của ngôi nhà cũng như tài vận cho gia chủ.
Ý nghĩa của các loại cá may mắn trong phong thủy
Thuật Phong Thuỷ bắt nguồn từ Trung Hoa, nơi người dân có truyền thống tín ngưỡng tôn thờ tự nhiên. Sự tôn kính tự nhiên được cụ thể hoá qua những biểu tượng thường gắn với cuộc sống đời thường.
Văn học 12 Soạn bài nhân vật giao tiếp
Hướng dẫn Soạn bài nhân vật giao tiếp của chương trình văn học lớp 12. 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ảng dạy cho các em.
Ba bước chính trong bài trí phong thủy phòng bé
Phòng trẻ em thường lộn xộn và bày bừa nên dễ tạo cảm giác nhàm chán ở trẻ. Phong thủy áp dụng cho không gian của trẻ có thể mang lại cảm giác sôi động, lành mạnh hay niềm vui lâu dài. Năng lượng trẻ là mở rộng và sôi động, nó cần có không gian mở để phát triển. Phong thủy có thể giúp thúc đẩy tăng trưởng hài hòa trong không gian luôn lộn xộn và hỗn loạn của trẻ.
Cách hóa giải cho nhà “đầu voi đuôi chuột”
Theo quan niệm dân gian, nhà “đầu voi đuôi chuột” sẽ không có hâu. Tuy nhiên, theo phong thủy học thì chúng ta có thể hóa giải được nhược điểm này để mang tài vận đến cho gia chủ.
Phong thủy chọn tầng cho văn phòng
Mỗi tầng đều có Ngũ hành khác nhau, tự nhiên sẽ ảnh hưởng đến những người có Ngũ hành khác nhau ở trong phòng. Vì thế, trong cùng một tòa nhà, số tầng khác nhau sẽ có những ảnh hưởng khác nhau đối với người làm việc trong phòng.
Những kiêng kị trong phong thủy văn phòng nên tránh
Làm cách nào để văn phòng không rơi lọt tiền tài? Một số nguyên tắc phong thủy sau sẽ giúp bạn tạo cơ sở tốt nhất cho sự phát triển của mình cũng như công ty.
Văn 8 Soạn văn bài toán dân số
Hướng dẫn Soạn văn bài toán dân số của chương trình văn học lớp 8. 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.
Nhà vườn ba gian cho cuộc sống thư thái
Theo phong thuỷ, một cuộc đất tốt phải có sơn, có thuỷ, cây cối tươi tốt, sản vật dồi dào, khí hậu hiền hoà…
5 Kiêng kỵ trong phong thủy bố trí phòng bếp
Phong thủy luôn là vấn đề quan tâm của nhiều gia đình bởi nó liên quan tới sức khỏe, tài lộc, vận mệnh của các thành viên trong gia đình. 5 điều cần tránh khi thiết kế phong thủy nhà bếp sẽ mang lại cho bạn nhiều may mắn.

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