Gunakan form dibawah untuk mencari aplikasi yg anda butuhkan via internet
Google

Senin, 12 Mei 2008

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.



Tidak ada komentar: