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
}
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:
Posting Komentar