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.php2. View
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'),
......
);
}
<?php3. Controller
$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'); ?>
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!

Terima kasih, semoga membantu
BalasHapus