Trang

Thứ Bảy, 3 tháng 8, 2013

Sử dụng Captcha Google cho Website của bạn [PHP]

Captcha là một chức năng không thể thiếu đối với một trang web. Nó có tác dụng phân biệt người hay robot trong việc submit dữ liệu lên server, nếu không có captcha khả năng trang web bị Dos rất là cao.


Hôm nay mình sẽ giới thiệu bài viết sử dụng Captcha Google cho trang web của chính mình.

Chuẩn bị:

- Một tài khoản Google.
- Một trang web đã được up lên Host.

Các bước thực hiện:

Bước 1: Các bạn vào trang web http://www.google.com/recaptcha .Sau đó các bạn  click nút USE reCAPTCHA ON YOUR SITE


Bước 2: Bạn tiến hành đăng ký một tài khoản để sử dụng chức năng này. Click vào nút Sign up Now



Bước 3: Tiến hành đăng nhập vào tài khoản google như bình thường


Bước 4: Tạo một Key Captcha

Bạn tiến hành khai báo trang web mà mình muốn sử dụng Captcha cho Google biết. 

Chú ý:

Trang web có dạng như: recaptcha.com, example.net. Không có thêm đường dẫn phía sau như recaptcha.com/captcha/captcha.php .

Nếu bạn có nhiều domain thì check vào tùy chọn Enable this key on all domans


Bước 5: Sau khi ấn nút Create Key thì Google sẽ cấp phát cho bạn hai loại key

Public key:  Key này bạn sử dụng cho phía người dùng. Nó dùng để tạo ra hình Captcha cho người dùng đánh captcha.

Private key: Key này bạn sử dụng phía server. Nó dùng để xác thực và kiểm tra captcha người dùng nhập vào có đúng hay không.

Bạn nhớ mở Notepad và lưu lại hai cái key này.


 Đến đây xem như chúng ta đã đi được nửa đường. Phần còn lại là nhúng Captcha vào trang web của chúng ta.

Bước 6: download thư viện captcha của Google

Bạn vào http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest để tiến hành download thư viện captcha.



Sau khi download xong, bạn tiến hành giải nén. Sau đó bạn copy file recaptchalib.php vào source code của chúng ta (nằm cùng cấp với trang web mà chúng ta muốn sử dụng captcha)

Bước 7: Nhúng code vào trang web

Đối với trang web bạn muốn hiện captcha cho người dùng nhập vào hay còn gọi là Client Side. Bạn tiến hành chèn code giống dạng như: 



Code:

 <html>
    <body> <!-- the body tag is required or the CAPTCHA may not show on some browsers -->
      <!-- your HTML content -->

      <form method="post" action="verify.php">
        <?php
          require_once('recaptchalib.php');
          $publickey = "your_public_key"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>
        <input type="submit" />
      </form>

      <!-- more of your HTML content -->
    </body>
  </html>


Đối với trang web mình xử lý dữ liệu mà người dùng gửi lên server, ta nhúng code vào như sau:



Code:

<?php
  require_once('recaptchalib.php');
  $privatekey = "your_private_key";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }
  ?>

Bước 8: Sau khi nhúng code vào trang web xong, ta tìm trong code đó những chỗ your_public_keyyour_private_key và thay thế nó bằng các key mà Google đã cho ta ở bước 5.

 Vậy la xong rồi đó. Cũng dễ mà phải không các bạn. Good Job!


Không có nhận xét nào:

Đăng nhận xét