Beranda > CakePHP > CakePHP dan KCAPTCHA

CakePHP dan KCAPTCHA

CakePHP merupakan sebuah framework multifungsi yang, tentu saja, mendukung penggunaan uji CAPTCHA. Ada sebuah aplikasi opensource untuk menampilkan image CAPTCHA yang dikenal dengan KCAPTCHA. Untuk mendapatkannya, silahkan Anda terlebih dahulu mendownloadnya disini.

Sudah ? Oke, kita akan memulai proyek penghadangan spambot ini.

PERTAMA :
Ekstrak aplikasi KCAPTCHA Anda dan letakkan di folder vendors dengan path “instalasiCake/vendors/kcaptcha”. Buka file kcaptcha_config.php yang ada di dalam folder kcaptcha tersebut. Di sana ada beberapa konfigurasi yang bisa Anda kustomasi, semisal menghilangkan tampilan “credits” dengan mengeset line :

$show_credits = true ;

menjadi

$show_credits = false;

tentu jika Anda ingin menghargai pencipta aplikasi ini, silahkan tetap menampilkannya. Anda bisa membaca keterangan yang ada dalam file tersebut sebelum melakukan pengaturan.

KEDUA :
Buat sebuah file komponen dengan nama captcha.php dengan script sebagai berikut :

<?php

class CaptchaComponent extends Object
{
function startup(&$controller)
{
$this->controller = $controller;
}
function render()
{
vendor(’kcaptcha/kcaptcha’);
$kcaptcha = new KCAPTCHA();
$this->controller->Session->write(’captcha’, $kaptcha->getKeyString());
}
}
?>

Simpan file tersebut pada path “instalasiCake/app/controllers/components/captcha.php”

KETIGA :
Saatnya membuat script validasi pada Controller Anda. Anggap Controller Login adalah Controller yang akan menghandle halaman login Anda.

<?php

class UsersController extends AppController
{

/*tambahkan pendeklarasian komponen Captcha*/
var $components = array(’Captcha’);

/* menambahkan script validasi */
if(isset($_SESSION[’captcha’]) && $_SESSION[’captcha’] == $_POST[’keystring’]) {

//masukkan script Anda yang lainnya di sini

}
else {
//tampilkan pesan kesalahan
}

/*fungsi captcha untuk rendering image
function captcha()
{
$this->Captcha->render();
}

}
?>

Jangan lupa untuk menyimpan Controller Login yang telah Anda modifikasi sedemikian rupa seperti di atas.

KEEMPAT :

Kini kita akan membuat tampilan image CAPTCHA. Pada bagian View dari aplikasi CakePHP Anda, tambahkan script di bawah ini untuk menampilkan image CAPTCHA :

<img src=”<?php echo $html->url(‘/logins/captcha’); ?>” />

Untuk memasukkan input teks dari image CAPTCHA yang terbaca oleh pengunjung situs Anda, tambahkan script :

<input type=”text” name=”keystring”>

KELIMA :

Cek ! Pastikan aplikasi Anda berjalan dengan baik. Apabila aplikasi Anda tidak menampilkan image, pastikan PHP Anda mendukung dan terinstall GDLibrary. Silahkan cek dengan membuat file info.php yang berisi script :

<?
phpinfo();
?>

Selamat berjuang melawan spam-spam nakal.

Kategori:CakePHP
  1. 21 Desember 2008 pukul 12:19

    wah mantep bener tutorialnya mas, kalo gini terus saya jadi pembaca setia nih..

  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: