Tạo Captcha dựa trên tổng 2 số bằng PHP

 Xem demo  Download demo

Ngày nay hầu hết mọi website đều ưa thích sử dụng những mẫu captcha đơn giản để dùng cho những trang có độ bảo mật ít hơn, chủ yếu dùng để ngăn chặn những spam từ phía người dùng khi họ submit form. Trước đây mình đã giới thiệu cho các bạn cách làm Tạo captcha xác minh kí tự nhập vào (Number Verification) bằng PHP .  Hôm nay mình sẽ chia sẻ cho các bạn một cách tạo captcha đơn giản hơn, người dùng sẽ chỉ phải tính toán tổng của 2 số ngẫu nhiên, và kết quả nhập vào chính xác thì form mới được gửi đi. Để dễ hiểu các bạn có thể xem demo bên dưới.

captcha, php code, php tips, thu thuat php, php

Để tạo chức năng captcha như bên trên, đầu tiên chúng ta sẽ cần lấy 2 số ngẫu nhiên và tổng của 2 số đó như sau :

<?php

$number1 = rand(1,9);

$number2 = rand(1,9);

$sum = $number1 + $number2;

?>

<form>

   ....

</form>

Sau đó chúng ta sẽ chèn giá trị tổng này vào bên trong một thẻ hidden ở trong form, việc làm này là để chúng ta sẽ so sánh giá trị này với giá trị nhập của người dùng.

<form>

   <input type="hidden" name="correctsum" value="<?php echo $sum; ?>"/>

   ...

</form>

Bây giờ chúng ta sẽ hiển thị 2 số ngẫu nhiên ra màn hình để người dùng tính toán và nhập kết quả.

<form>

   ...

   <?php echo $number1.' + '.$number2.' = '; ?>

   <input type="text" name="captcha" />

   ...

</form>

Và cuối cùng là khi người dùng nhập kết quả và nhấn nút “Submit” chúng ta sẽ so sánh xem có trùng khớp hay không để có thể đưa đến những trang mà người dùng muốn.

<?php

$correctsum = $_POST['correctsum'];

$captcha = $_POST['captcha'];

if($correctsum == $captcha){

   // TODO: success

}else{

   // TODO: Captcha Invalid

}

?>

Thế là xong, các bạn thấy ứng dụng này cũng đơn giản phải không? Nếu các bạn có gì thắc mắc thì có thể để lại lời nhắn dưới dạng comment, hoặc download toàn bộ ứng dụng về để nghiên cứu.

 

 HỖ TRỢ TRỰC TUYẾN