Update pertama yang saya lakukan kemarin pada pengembangan web ini adalah menambah fasilitas Captcha pada Form Komentar.. karena banyak Komentar-Komentar yang ga jelas datangnya, jadi sedikit mengganggu web aja.. ^^
by the way, apa sih Captcha itu?.. Captcha itu intinya untuk membedakan si inputan tersebut dilakukan oleh manusia atau Mesin (Komputer).. kalo ga ada Capctha, ya bakal kejadian kaya kemaren2 tuh.. ada komentar di website www.agussaputra.com.. isinya “Tramadol odol-odol Panadol”.. beuh, pusing deh bet bacanya..
untuk menghindari Spam tersebut, maka dibutuhkan teknik Captcha.. kalo menerapkan pada PHP Classic pasti uda pada tahu kan?.. nah bagaimana penerapannya pada CakePHP?... sepertinya masih banyak yang belum paham penerpannya... langsung aja gan..
disini saya menggunakan “KCaptcha” dalam melakukan penerapan Captcha.. download dulu KCaptcha http://www.agussaputra.com/files/downloads/kcaptcha.zip
1. hasil download tersebut, Anda akan mendapati file bernama kcaptcha.zip.. extract file tersebut dan letakkan pada folder app/vendors
2. Buat file component bernama captcha.php dan simpan dalam folder app/controllers/components, adapun skripnya sebagai berikut:
<?php
class CaptchaComponent extends Object
{
function startup(&$controller)
{
$this->controller = &$controller;
}
function render()
{
App::import(‘Vendor’, ‘kcaptcha/kcaptcha’);
$kcaptcha = new KCAPTCHA();
$this->controller->Session->write(‘captcha’, $kcaptcha->getKeyString());
}
}
?>
3. Kemudian pada file controller Anda, tambahkan skrip berikut, misalnya file milik saya adalah articles_controller.php, maka berikut penerapannya:
<?php
class ArticlesController extends AppController{
var $name = ‘Articles’;
var $components = array(‘Captcha’);
function captcha(){
$this->Captcha->render();
}
function index(){
if(isset($_SESSION[‘captcha’]) && $_SESSION[‘captcha’] == $_POST[‘keystring’]){
if(!empty($this->data)){
// Aksi Penyimpanan
}
}
else {
// Tampilkan Kode Security Salah
}
}
}
?>
4. Pada tampilan View, tambahkan skrip berikut pada Form Anda, contoh:
Code Image : <img src="<?php echo $html->url('/login/captcha'); ?>" /> // Sesuai nama folder view letak captcha ingin diletakkan (articles)
Fill Code Image : <input name="keystring" type="text" />
Semoga postingan kali ini dapat memberikan pencerahan bagi Anda.. Salam Cake Baker Mania...
doni
wah gak ada matengan nya tah mas?? di upload dunk... trims
Agus Saputra
doni @ wah.. untuk sementara cukup copy paste aja mas.. ikuti instruksi.. haha.. space-nya uda limit nih, nanti mau tk tambah, sekalian perpanjang kontrak domain.. hehehe..
doni
mas.... koq belum di upload matengan nya??? ane coba implementasi di bagian komentar proyek membuat blog... tapi malah eror mas... tolong bantuin yah
Agus Saputra
doni @ untuk Source nya bisa Anda download di http://www.ziddu.com/download/17392244/CakePHPCaptc ha.rar.html atau bisa membuka postingan terbaru saya..
ads
sdsd fdfdfdf
Tumel
Mas mau tanya dong..
skrip pencegah eror ada gk..??
Agus Saputra
TUmel @ maksud dari pencegah error seperti bagaimana?..
kalo untuk mencegah error agar error tidak ditampilkan ke halaman web bisa menggunakan perintah
error_reporting(0);
Tumel
Oke..
kalo perintah merandom captcha gimna..??
casper
thx..sangat bermanfaat..ditunggu tutorial berikut nya..:)
Yuda
Mas Link nya kok sdh ga bisa lagi?
AGUS SAPUTRA
Yuda @ ya mohon maaf mas, filenya kehapus pada saat upgrade agussaputra.com .. :-)