Hallo Web Developers.., di hari libur ini kita akan memcoba membuat Captcha di Codeigniter, cara ini termasuk cara yang paling mudah karena sangat sederhana namun sangat berguna. Kebanyakan tutorial captcha dengan codeigniter yang saya temukan di google, menggunakan cara-cara yang rumit dan terlalu ribet dalam penggunaan nya. Disini kita akan coba cara termudahnya.
Sebelumnya mari kenalan sedikit dengan Captcha.
Istilah “CAPTCHA” (berasal dari kata bahasa Inggris “capture” atau menangkap) diciptakan pada tahun 2000 oleh Luis von Ahn, Manuel Blum, Nicholas J. Hopper (semua dari Carnegie Mellon University), dan John Langford (IBM). Istilah ini adalah akronim bahasa Inggris dari “Completely Automated Public Turing test to tell Computers and Humans Apart“.
CAPTCHA atau Captcha adalah suatu bentuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer.
Contohnya adalah sebagai berikut:
Keguanaannya biasanya untuk mencegah SPAM, jadi untuk memastikan bahwa yang mengisi form adalah manusia makanya diberi tantangan berupa code (captcha) yang harus diketik oleh user (bukan mesin).
Captcha di Codeigniter
Oke langsung saja kita terapkan di codeigniter.
Perlu diketahui pada tutorial ini kita masih menggunakan codeigniter murni yang belum disetting sebelumnya.
Perlu diketahui pada tutorial ini kita masih menggunakan codeigniter murni yang belum disetting sebelumnya.
Pertama buat dulu folder captcha, lokasinya sejajar dengan folder systemdan application, setting CHMOD menjadi 777 atau 666.
Controller
Setelah itu buat sebuah controller bernama registrasi.php, dan tulis script berikut.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class registrasi extends CI_Controller { public function index() { // load the session library $this->load->library('session'); $this->load->helper(array('captcha','url')); // if form was submitted and given captcha word matches one in session if ($this->input->post() && ($this->input->post('secutity_code') == $this->session->userdata('mycaptcha'))) { $this->load->view('berhasil.php'); } else { // load codeigniter captcha helper $this->load->helper('captcha'); $vals = array( 'img_path' => './captcha/', 'img_url' => base_url().'captcha/', 'img_width' => '200', 'img_height' => 30, 'border' => 0, 'expiration' => 7200 ); // create captcha image $cap = create_captcha($vals); // store image html code in a variable $data['image'] = $cap['image']; // store the captcha word in a session $this->session->set_userdata('mycaptcha', $cap['word']); $this->load->view('registrasi_view.php', $data); } } } /* End of file registrasi.php */ /* Location: ./application/controllers/registrasi.php */
View
Selanjutnya kita buat sebuah view dengan sama registrasi_view.php, tuliskan code berikut ini untuk menampilkan captcha nya.
<div id="container"> <h1>Silahkan isi form berikut dengan benar</h1> <div id="body"> <?php if ($this->session->flashdata('message'))echo $this->session->flashdata('message');?> <form method="post" action="<?=base_url()?>index.php/registrasi"> <p>Nama: <input type="text" name="nama"></p> <p><?=$image;?></p> <p>Security: <input type="text" name="secutity_code"></p> <p><input type="submit" name="submit" value="submit" /></p> </form> </div> </div>
Terakhir buat sebuah view lagi dengan nama berhasil.php
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> Selamat, captcha yang anda masukan sudah benar :) </body> </html>
Hasil: Untuk hasilnya bisa dilihat di http://domain/index.php/registrasi
Oke sekian tutorial kali ini, semoga dapat mambantu pekerjaan anda.
Jangan lupa follow saya di @pai_n12www.twitter.com/pai_n12
Terima kasih, salam Web Developer indonesia.
0 komentar:
Posting Komentar