اضافه کردن کپچا در yii2

آموزش اضافه کردن  کپچا در yii

یکی از راه های مقابله با اسپم ها استفاده از کپچا است و مجهز بودن سایت به کپچا یک ضرورت برای همه سایت ها می باشد در هر پروژه ای که کار کنید باید از کپچا های جدید و آپدیت شده استفاده کنید تا اسپمر ها نتوانند آسیبی به سایت شما وارد کنند.اضافه کردن کد امنیتی یا captcha در yii2 داخل فرم آسان هست و علت آن بودن کدهای کپچا در فریم ورک yii میباشد.

اضافه کردن کپچا در yii2 شامل سه مرحله زیر است.

۱-اضافه کردن فیلد و ولیدیشن کپچا به مدل 

۲- اضافه کردن فیلد کپچا به فرم

۳- اضافه کردن  کد های اکشن کپچا در کنترلر

 

مرحله اول : فیلد و ولیدیشن کپچا در مدل

در مدلی که با آن کار میکنید باید فیلد verifyCode$ را به آن اضافه کنید و همچنین در آرایه متد rules نیز باید ولیدیشن زیر را اضافه کنیم

مقدار   [‘verifyCode’, ‘captcha’]   مشخص میکند که این فیلد از نوع کپچا میباشد و  مقدار [‘verifyCode’, ‘required’]  نیز اجباری بودن این فیلد را برای فرم مشخص میکند که کاربر باید حتما کپچا را وارد کند.

public $verifyCode;
public function rules()
    {
        return [
            ['verifyCode', 'captcha'],
            ['verifyCode', 'required'],
        ];
    }

 

مرحله دوم : اضافه کردن فیلد کپچا به فرم

در این مرحله برای اینکه در قسمت view کپچا فعال شود باید کلاس کپچا را  با  کد  use yii\captcha\Captcha در فایل view اضافه کنید تا فراخوانی شود و سپس طبق نمونه کدهای زیر داخل تگ ها activeform فیلد verifycode را هم در فرم قرار میدهیم.

 

<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>

<?= $form->field($model, 'verifyCode')->widget(Captcha::className()) ?>

<?php ActiveForm::end(); ?>

 

مرحله سوم: اضافه کردن اکشن کپچا در کنترلر

در این مرحله کافی هست که متد زیر را به اول کلاس کنترلر اضافه کنید با اضافه کردن متد زیر دیگر نیاز نیست در اکشن فرمی که طراحی کرده اید کپچا را بررسی کنید.

 

namespace app\controllers;
class SiteController extends \yii\web\Controller
{
  
    public function actions()
    {
        return [
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
            ],
        ];
    }
   
}

 

اضافه کردن کپچا در yii2 در سه مرحله فوق تمام شد. شما میتوانید در همه فرم های پروژتون طبق همین مراحل captcha را به پروژه یی خود اضافه کنید.

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *