Pada artikel kali ini saya akan membahas sedikit tentang bagaimana menggunakan google captcha (reCAPTCHA) di aplikasi web yii. Dengan bantuan extensions recaptcha kita hanya perlu melakukan sedikit perubahan/penambahan kode untuk menggunakannya.
Silahkan download file
extensions recaptcha terlebih dahulu dengan klik
download, kemudian ekstrak file tersebut di folder
/protected/extensions.
Berikutnya adalah melakukan registrasi ke
http://recaptcha.net/ untuk mendapatkan
Site key dan
Secret key. Site key digunakan untuk menyajikan ke user, sedangkan Secret key digunakan untuk komunikasi antara aplikasi dan google.
Untuk menggunakannya silahkan lakukan perubahan di model, view, serta controller :
1. Model, definisikan attribut beserta rulenya :
//protected/models/LoginForm.php
class LoginForm extends CFormModel
{
public $validasi;
........
public function rules(){
return array(
array('validasi',
'application.extensions.recaptcha.EReCaptchaValidator',
'privatekey'=>'<--masukkan Secret Key di sini-->'),
array('validasi',
'application.extensions.recaptcha.EReCaptchaValidator',
'privatekey'=>'ENVII_CAPTCHA_PRIVATE_KEY',
'on'=>'registerwcaptcha'),
......
);
}
2. View
<?php
$this->widget('application.extensions.recaptcha.EReCaptcha',
array('model'=>$model, 'attribute'=>'validasi',
'theme'=>'red', 'language'=>'en',
'publickey'=>'<--masukkan Site Key di sini-->')); ?>
<?php echo Chtml::error($model,'validasi'); ?>
3. Controller
public function actionRegister()
{
$form = new user();
$form->scenario = 'registerwcaptcha';
if($form->validate())
{
$form->scenario=NULL;
$form->save();
}
}
Untuk melihat hasilnya pastikan komputer Anda terhubung dengan internet. Koneksi internet tersebut dibutuhkan untuk komunikasi antara aplikasi dan google.
Good Luck!
Artikel keren lainnya:
Terima kasih, semoga membantu
BalasHapus