04/10/2018, 18:02

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

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

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.

tao-captcha-dua-tren-tong-2-so-bang-php

Xem Demo | Download

Để 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.

Chúc các bạn thành công !

Tags: captcha php code

Chuyên Mục: PHP

Bài viết được đăng bởi webmaster

  • Huy

    Mong bạn hướng dẫn áp dụng captcha này cho contact wordpress.

    Cảm ơn!

Bài liên quan

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

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

Vũ Văn Thanh viết 18:02 ngày 04/10/2018

Cách tạo biểu tượng, nút bấm bóng bẩy bằng PHP GD

Nghe tiêu đề có vẻ như chúng ta sẽ cần một phần mềm tạo ảnh ,để có thể tạo những biểu tượng hay nút bấm trở nên bóng bẩy . Nhưng với GD library có trong PHP, chúng ta hoàn toàn có thể làm được điều này chỉ với vài dòng code đơn giản. Qua bài viết này , các bạn cũng có thể tự tay tạo một ứng dụng ...

Hoàng Hải Đăng viết 17:52 ngày 04/10/2018

Tạo lớp (class) phân trang đơn giản bằng PHP

Trong quá trình làm web, ắt hẳn bạn sẽ cần phân trang khi dữ liệu được load quá nhiều, đoạn code dưới đây chỉ là một lớp phân trang đơn giản nhưng sẽ rất hữu ích cho những bạn mới bước vào lập trình nói chung và lập trình bằng php nói riêng. Đoạn code phân trang này sẽ hiển thị như sau khi bạn ...

Vũ Văn Thanh viết 17:44 ngày 04/10/2018

Tạo captcha xác minh kí tự nhập vào (Number Verification) bằng PHP

Ở bài trước mình đã giới thiệu tới các bạn bài viết Thủ thuật PHP : Ứng dụng free php captcha , hôm nay mình sẽ chia sẻ cho các bạn thêm 1 thủ thuật tạo ứng dụng captcha cho trang web của bạn nữa, ứng dụng này có chức năng tạo ra 1 loạt kí tự ngẫu nhiên và tạo ra 1 file hình ảnh cho các kí tự ...

Vũ Văn Thanh viết 17:43 ngày 04/10/2018

Đếm số lượt người đang online trên web của bạn bằng PHP

Nếu bạn có một website và bạn muốn xem có bao nhiêu người hiện tại đang lướt web của bạn thì đoạn code sau đây sẽ giúp bạn làm điều đó, trước khi thực hiện thủ thuật này thì chúng ta cần làm 1 vài bước . Bước 1 : Tạo database Giả sử chúng ta sẽ đặt tên database là demo và table là ...

Trịnh Tiến Mạnh viết 17:42 ngày 04/10/2018
0