[CakePHP] Tạo mã captcha cho Cakephp 2.0

Mã Captcha được viết tắt là từ “Completely Automated Public Turing Test to Tell Computers and Humans Apart” được biết là một cơ chế xác nhận người dùng trên website, mã captcha được sử dụng khi đăgn ký người dùng hay khi comment trên website, việc ứng dụng mã captcha có thể giúp website của bạn tránh được spamer trên website, hiện nay công nghệ spam khá hiện đại, với Captcha có thể hạn chế được phần nào spam, nó không thể là tất cả bởi vì các con bot spam bây giờ khá tinh vi, ở đây worm chỉ hướng dẫn các tạo 1 component đơn giản cho CakePHP ở phiên bản 2.0, bạn có thể chọn các mã captcha phức tạp hơn để nâng cao sự phức tạp hơn.

Mã nguồn sử dụng là PHP Captcha 1.0, các bạn có thể down load phiên bản thuần cho PHP tại link : PHP-Captcha-1.0 (Bao gồm Source – Demo + file fonts)

Việc tạo Captcha khá đơn giản, ở đây mình Convert từ Source sang Component cho CakePHP, các bạn Download Component này tại link : PhpCaptchaComponent – Download về rồi giải nén copy vào thư mục App/Controller/Component/

Tiếp đền download file rar này vể rồi giải nén copy vào webroot/files/ mục đích là để sử dụng ngoài view để generate ra file ảnh : Captcha


Vậy là xong các bước để chuẩn bị, để sử dụng trong view các bạn để code này vào bên trong thẻ form rồi đặt nam tương ứng để xác nhận:

Mình để demo vậy, việc sử dụng Form Helper trong CakePHP,  thẻ <img> trong form có tác dụng load hình captcha để hiển thị.Sau khi hiển thị sẽ có định dạng như sau :

Để xác nhận mã captcha trên Controller cần khai báo component cho Controller sau đó gọi hàm kiểm tra Captcha

Xác nhận

Trong request model User các bạn tùy biến theo model hoạt động với Controller hiện tại khi bạn generate form. Nếu đúng captcha sẽ trả về giá trị TRUE ngược lại là FALSE , phần thao tác tiếp theo là xử lý theo từng trường hợp !

Chúc Thành Công !

Comments

comments

Share this Post :

4 Responses to “[CakePHP] Tạo mã captcha cho Cakephp 2.0”

  1. Hien Phan
    August 1, 2012 at 11:49 pm

    Chào bạn,

    Bài viết của bạn rất hay.
    Bạn có cách nào để có thể đặt thư mục captcha trong thư mục của cakephp ko?
    Vì khi desploy, mình muốn để tất cả source của cakephp lên thư mục www để có đường dẫn gốc.

    Thanks,
    Phan Đình Hiền.

    • WormVN
      August 2, 2012 at 8:35 am

      Cảm ơn bạn đã quan tâm! Trên bài hướng dẫn mình có copy source chính vào thư mục files trong www của CakePhp đó cậu, cái đó cần thiết để tạo ra mã captcha ngoài view, còn trong Controller thì mình đã convert code nguồn thành một Component để xác nhận! có gì thắc mắc cậu rep tại đây mình giải đáp cho bạn!

  2. cuong nguyen
    September 25, 2017 at 10:27 am

    link chết rồi , update lại link đi

    • NiceIT
      September 26, 2017 at 3:29 am

      Bản 1.0 này cũ lắm rồi bạn, chắc k còn ai xài nữa đâu :)

Please Post Your Comments & Reviews

Your email address will not be published. Required fields are marked *