Selamat Datang

Membuat Captcha di Codeigniter

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.

Captcha Codeigniter

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:

Contoh Captcha

Contoh Captcha,  sumber: wikipedia

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.

Pertama buat dulu folder captcha, lokasinya sejajar dengan folder system dan 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 kami di @tut_web

Terima kasih, salam Web Developer indonesia.





Penulis :

Website yang berisi Tutorial, Tips, Trik, Inspirasi, Opini, Cerita, Studi kasus, dan berbagai hal menarik tentang Web Design, Web Development dan Graphic Design untuk orang-orang kreatif di Indonesia. View all posts by TWD Editorial

Comments

26 thoughts on “Membuat Captcha di Codeigniter

  1. dikrivan says:

    Salam kenal bwt admin nya. sama terima kasih share CI tutornya. saya kebetulan baru belajar. Keep share

  2. Isabel says:

    Greetings! Quick question that’s totally off

    topic. Do you know how to make your site mobile friendly? My weblog looks weird when

    browsing from my iphone 4. I’m trying to find a theme or plugin
    that

    might be able to resolve this issue. If you have any recommendations,
    please share.

    Many thanks!

  3. Amazing blog! Is your theme custom made or did you download it from

    somewhere? A theme like yours with a few simple adjustements would really make my blog jump out.
    Please let me know where you got your design. Many thanks

  4. anonim says:

    ini bukan membuat captcha kali..
    hanya sekedar memasang dowang..
    kiran bener2 membuat captcha :D

  5. yoyo says:

    itu sepertinya captchanya case sensitive ya ? kalo bikin captcha yg tidak case sensitive gimana?
    balsem, upss, salah maksudnya bales…

  6. jkj says:

    Makasih gan :)

  7. Hendra says:

    Kalo fungsi pada bagian view/registrasi_view.php dibawah ini untuk apa ya bro ?

    session->flashdata(‘message’))echo $this->session->flashdata(‘message’);?>

    Saya ga pake fungsi diatas, tetap berjalan captchanya.

    Thanks bales ya :)

  8. RIzal Rahman Affandi says:

    Saya ingin bertanya, apakah gambar captcha tersebut akan selalu dibuat pada folder captcha ?. Jika iya, apakah folder captcha ini akan ada banyak gambar ratusan bahkan ribuan gambar ?.

    • Gambar selalu di taruh disitu, ukuran gambar tidak terlalu besar.
      Untuk menghindari anda bisa saja menghapus isi folder sebelum captcha baru dibuat, atau menghapus gambar captcha ketika captch besar dan submit form. Silahkan digunakan logika dan algoritma masing2, yang jelas di PHP kita bisa menghapus gambar maupun isi folder

  9. kinoy says:

    mantaffff,,,thks

  10. kinoy says:

    “Pertama buat dulu folder captcha, lokasinya sejajar dengan folder system dan application, setting CHMOD menjadi 777 atau 666.” maksudnya gimana yah,,,,,,:D bingung

    apa maksudnya kita buat folder di hosting site kita sejajar dengan index???

    maaf kalo pertanyaan bodoh…

  11. sibb.. mas langsung saya praktek’an disini http://batik-kendal.com/login

    makasih banyak atas tutornya :D

  12. fian says:

    The URI you submitted has disallowed characters.

    kalau errornya kayak gitu gmana ya? :)

  13. jiey says:

    sangat membantu terimakasih :)

  14. ganang says:

    Makasih Ya Gan udah membantu Ane. Salam Kenal

  15. kewer says:

    fungsi folder captcha buat apa?

  16. kuhikun says:

    Om, itu setting CHMOD nya dimana ya? Tolong pencerahannya om, ini masih newbi CI. Hehehe

    Thanks

Leave a Comment

XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


Klik Tombol Like / Suka ya kawan..

Klik tombol "Like" atau "Suka" untuk mendapatkan update tutorial, tips & tricks serta info terbaru seputar dunia web design & development