دلیل استفاده از کد کپچا در لاراول

امنیت یکی از مواردی است که همیشه جای بحث دارد و هیچ وقت نمی توان گقت که وب سایت من از امنیت کامل برخوردار است. اگر در مورد امنیت لاراول اطلاعی ندارید، مقاله لاراول را بخوانید. یکی از مواردی که احتمال هک کردن و یا اسپم کردن توسط ربات ها وجود دارد، فرم ها می باشد. هنگام کار با فرم ها درلاراول بایستی یک کد CSRF از طریق دستور {{csrf_filed}} تولید کنیم. این قطعه کد، یک کد token می سازد که هنگام ارسال اطلاعات بررسی می شود و اطلاعاتی که از خارج از فرم مورد نظر ارسال شده باشند، مجوز ورود به برنامه ما را نخواهند داشت. اما ربات ها می توانند با استفاده از روش هایی این مورد را دور زده و اقدام به ارسال اطلاعات مخرب به وب سایت ما کنند. یکی از موارد مهم در حفظ امنیت فرم ها، استفاده از کد کپچا یا Captcha می باشد. در این مقاله قصد داریم نحوه استفاده از کد کپچا را در لاراول به شما آموزش دهیم.

نصب پکیج mewebstudio/captcha در لاراول

برای نصب پکیج فوق دو راه وجود دارد. راه اول استفاده از Composer می باشد. در مسیر اصلی پروژه خود، فایل Composer.json را باز کرده و کد زیر را به انتهای آن اضافه کنید.
 


{
    "require": {
        "laravel/framework": "5.0.*",
        "mews/captcha": "~2.0"
    },
    "minimum-stability": "dev"
}


راه دوم با استفاده از ترمینال می باشد. دستور زیر را در محیط ترمینال IDE خود وارد کنید تا پکیج برای شما دانلود و نصب شود.


composer require mews/captcha

گام دوم تغییرات در فایل app.php می باشد. این فایل در پوشه config قرار دارد. اگر از لاراول ۵.۱ به بعد استفاده می کنید، کد زیر را به قسمت providers فایل app.php اضافه کنید.
 


'providers' => [
        // ...
        Mews\Captcha\CaptchaServiceProvider::class,
    ]

اگر از نسخه های قدیمی تر لاراول استفاده می کنید، از کد زیر استفاده کنید.

در مرحله بعد در قسمت aliases فایل app.php در صورت استفاده از لاراول ۵.۱ به بعد کد زیر را قرار دهید.
 


    'aliases' => [
        // ...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ]


 

کار نصب و پیکربندی تمام شد. شما می توانید در برنامه های خود از این captcha استفاده کنید. فقط کافی است namespace این کلاس را به Controller خود اضافه کنید تا توابع Captcha برای شما فعال شود.

برای ساختن تصویر captcha در View مورد نظر از کد زیر استفاده کنید


 captcha_img('flat');
 captcha_img('inverse');

عملیات validation نیز همانند دیگر فرم ها انجام می شود. 


$this->validate(request(),[
     'captcha' => 'required|captcha'
]);

اگه سوالی داشتید در قسمت کامنت مطرح کنید.