Sebelum memulai saya akan memberikan sedikit ulasan tentang apa itu captcha. Kalau Anda pernah mengisi formulir di internet, pasti Anda pernah menjumpai gambar tulisan/huruf-huruf bengkok yang mungkin akan membuat Anda bingung lalu kemudian disuruh mengisikan huruf-huruf tersebut ke dalam kotak isian. Lalu apa huruf-huruf itu? Itukah yang disebut captcha? Lalu apa itu Captcha?
CAPTCHA merupakan singkatan dari Completely Automated Public Turing test to tell Computers dan Humans Apart. Captcha itu sendiri berguna untuk memastikan bahwa respon yang dihasilkan hanya boleh dibuat oleh manusia, bukan dari komputer atau lebih tepatnya untuk menghindari bot. Untuk lebih jelasnya silahkan tanya mbah google...
Kembali ke topik pembahasan, berbeda dengan Captcha di atas saya akan menggunakan captcha bawaan dari yii. Untuk menambahkan captcha di halaman login dibutuhkan sedikit ubahan coding, diantaranya :
1. Melakukan ubahan pada model
Tambahkan attribute berikut pada model:
//protected/models/LoginForm.php
class LoginForm extends CFormModel
{
public $verifyCode;
Membuat validasi rule
public function rules()
{
return array(
//verifycode needs to be entered correctly
array('verifyCode','captcha','allowEmpty'=>
!CCaptcha::checkRequirements()),
2. Melakukan konfigurasi pada view
//protected/views/site/login.php
<?php if (CCaptcha::checkRequirements()):?>
<div class="row">
<?php echo $form->labelEx($model,'verifyCode');?>
<div>
<?php $this->widget('CCaptcha');?>
<?php echo $form->textField($model,'verifyCode');?>
</div>
<div class="hint">Please enter the letters as they are shown in the image above.
<br/>Letter are not case-sensitive.</div>
<?php echo $form->error($model,'verifyCode');?>
</div>
<?php endif;?>
3. Mengaktifkan captcha di controller
//protected/controllers/SiteController.php
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xFFFFFF,
),
Berikut hasilnya :
Good Luck!
Artikel keren lainnya:
Belum ada tanggapan untuk "Yii: Menambahkan Captcha di Halaman Login"
Posting Komentar