IVG Web

IVG Group

Ivan Group

Thiết kế web chuyên nghiệp

Thiết kế web trọn gói
Làm website chuyên nghiệp

Hướng dẫn cài đặt tích hợp Recaptcha vào Website code thuần

Thiết kế website IVG Web

Captcha là chức năng giúp chúng ta tránh được các tool tự động có mục đích xấu, làm hao tốn tài nguyên / spam cơ sở dữ liệu của website. Với các loại Captcha đơn giản thì hoàn toàn có thể vượt qua một cách dễ dàng ...

Với các loại captcha đơn giản thì chúng ta có thể sử dụng một số dịch vụ trung gian vượt qua khá dễ dàng. Để chặn đứng các tool Spam Google đã cho ra 1 Captcha mới là reCaptcha và được nâng cấp bảo mật, ngăn chặn tuyệt đối các chương trình Spam tự đông.

Vì vậy, reCaptcha giúp website tránh Hacker lợi dụng điểm yếu này để Spam, chiếm dụng tài nguyên cũng như hack website

 

Hướng dẫn Đă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/create để thực hiện tạo Site key và Secret key

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

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.

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 reCaptcha trả về từ Google

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

//cấu hình thông tin do google cung cấp
$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';}
?>

<  form action="" method="POST">
    
class="g-recaptcha" data-sitekey="">
    <  input type="submit" name="submit" value="submit">

 

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

Như vậy chúng tôi đã hướng dẫn cách thêm reCaptcha vào website code thuần. Thao tác đơn giản nhưng nó sẽ giúp gia tăng bảo mật, trống được các công cụ tự động spam dữ liệu website.

 

Lưu ý:

Một số trường hợp các nhà cung cấp dịch vụ Hosting / VPS / Server chặn/không cài đặt hàm file_get_contents trong hệ thống. Chúng ta có thể sử dụng curl sau.

    $response = FALSE;
    if(function_exists('file_get_contents')){
        $response = file_get_contents($api_url);}
    if($response===FALSE && function_exists('curl_init')){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
        curl_setopt( $ch, CURLOPT_HEADER, 0 );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $ch, CURLOPT_URL, $api_url );
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
        $response = curl_exec( $ch );
        curl_close($ch);}
    if($response==FALSE){
        echo 'Captcha khong dung';}
    else {
        $response = json_decode($response);
        if(!isset($response->success)){
            echo 'Captcha khong dung';}
        if($response->success == true){
            echo 'Captcha dung';}
        else{
            echo 'Captcha khong dung';}
    }?>
QR Code

Zalo: 0964794699

24/7 sẵn sàng phục vụ bạn

icon

Tư vấn miến phí 24/7

0964794699