/ / Php cơ bản / Comment (1)

Tích hợp google reCAPTCHA vào website

Như các bạn biết Captcha là chức năng không thể thiếu trong khi làm website,nó giúp chúng ta tránh được các tool tự động có mục đích xấu,để lợi dụng làm hao tốn tài nguyện hoặc spam cơ sở dữ liệu .

Xem demo

Xem demo

Đối với các captcha đơn giản thì hoàn toàn có thể sử dụng các dịch vụ trung gian vượt qua được.Hiện nay, google đã cho ra 1 loại mã captcha mới đó là Recaptcha được nâng cấp lên,đối với loại captcha này rất bảo mật,ngăn chặn tuyệt đối các chương trình tự động gửi dữ liệu sang. Vì vậy, nó giúp website bạn tránh trường hợp kẻ xấu lợi dụng và hack vào website của bạn. Điều này, giúp website của bạn bảo mật hơn và an toàn cho người sử dung.

Google recaptcha

Google recaptcha

Đăng ký Google recaptcha

– Để sử dụng được dịch vụ recaptcha của google chúng ta cần vào link sau https://www.google.com/recaptcha/admin để thực hiện tạo Site keySecret key

Đăng ký google recaptcha

Đăng ký google recaptcha

– Sau khi nhập thông tin xong các bạn sẽ có được 2 thông tin trong hình:

Đăng ký lấy Site Key và Secret Key

Đăng ký lấy Site Key và Secret Key

Cài đặt google reCAPTCHA lên website

Bước 1: Chèn đoạn script sau vào trong thẻ head hoặc trong thẻ body, trong đó vi là cài đặt ngôn ngữ tiếng Việt, bạn có thể tham khảo danh sách các ngôn ngữ tại https://developers.google.com/recaptcha/docs/language.

<script src="https://www.google.com/recaptcha/api.js?hl=vi"></script>

Bước 2: Khi muốn hiển thị google reCAPTCHA ở đâu các bạn chèn nội dung sau vào

<div class="g-recaptcha" data-sitekey="Site key"></div>

Trong đó thì Site key đã được google cung cấp ở bước trên

Lấy dữ liệu trả về từ google

– Phần này chúng ta sẽ đi qua ví dụ sau nhé:

<?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>

– Sau khi tạo form trên chúng ta sẽ có

Google recaptcha

Google recaptcha

– Trong phần code trên mình đã giải thích ngay trên đó
Kết luận: 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é.
+ Ưu điểm: Bảo mật , dễ cài đặt, trống được các công cụ tự động gửi dữ liệu lên website
+ Nhược điểm: thỉnh thoảng google recaptcha hiển thị ra các hình ảnh bắt người dùng lựa chọn gây khó cho 1 số người,ví dụ google hiển thị lên 1 danh sách ảnh và bắt lựa chọn hình ảnh nào có con chó.


Xem thêm video hướng dẫn:



21/01/2016
Tags:
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

One comment

  1. tinh says:
     /  Reply

    bài viết về google captcha rất chi tiết,thanks

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL