برای ایجاد قابلیت کدکپچا یا همان تصویر امنیتی در فریم ورک لاراول، راه های مختلفی وجود دارد. ساده ترین و سریع ترین راه استفاده از پکیج های آماده است. یکی از پکیج های قدرتمند در این زمینه mews captcha است که با نسخه های ۵ و ۵٫۱ لاراول سازگار است. با اضافه کردن این سرویس به لاراول ۵ می توانید تصویر امنیتی تولید کرده و در فرم های ثبت نام و لاگین مورد استفاده قرار دهید و با این کار امنیت وب سایت خود را بالا ببرید.
نصب
برای نصب این سرویس باید به دایرکتوری پروژه خود بروید و سپس دستور زیر را در ترمینال(لینوکس) و یا cmd(ویندوز) وارد کنید:
composer require mews/captcha
پس از اجرای دستور بالا، دستور زیر را وارد کنید:
composer update
- اگر در سیستم عامل لینوکسی کار می کنید و بجای نصب composer از فایل composer.phar استفاده می کنید، به جای composer در دستورهای بالا از php composer.phar استفاده کنید و قبل از استفاده از این دستور فایل composer.phar را به دایرکتوری پروژه خود منتقل کنید.
[divider]
استفاده در لاراول ۵٫۰
برای اینکه قابلیت های این سرویس را فعال کنید باید provider و alias این سرویس را در فایل app/config.php وارد کنید. ابتدا فایل config.php را بازکنید و به بخش provider ها بروید و عبارت زیر را اضافه کنید(قسمت قرمز رنگ را اضافه کنید):
'providers' => [ // ... 'Mews\Captcha\CaptchaServiceProvider', ]
سپس در همین فایل به بخش aliases بروید و عبارت زیر را در آنجا وارد کنید(قسمت قرمز رنگ):
'aliases' => [ // ... 'Captcha' => 'Mews\Captcha\Facades\Captcha', ]
[divider]
استفاده در لاراول ۵٫۱+
برای فعال کردن قابلیت های این سرویس در لاراول ۵٫۱ باید فایل app/config.php را باز کنید و دستورات زیر را در داخل آن وارد کنید:
'providers' => [ // ... Mews\Captcha\CaptchaServiceProvider::class, ]
سپس در همین فایل به بخش aliases بروید و عبارت زیر را در آنجا وارد کنید(قسمت سبز رنگ):
'aliases' => [ // ... 'Captcha' => Mews\Captcha\Facades\Captcha::class, ]
[divider]
تنظیمات
بعد از نصب سرویس باید مقادیر مورد نیاز برای تولید تصویر امنیتی را در اختیار سرویس قرار دهید. مثلا این که ابعاد تصویر امنیتی چقدر باشد یا اینکه کیفیت عکس چه میزانی باشد و یا اینکه تصویر امنیتی چند حرفی باشد و… برای وارد کردن این تنظیمات ابتدا دستور زیر را در ترمینال وارد کنید:
<code>php artisan vendor:publish</code>
سپس داخل پوشه configبروید و فایل captcha.php را بسازید و کد زیر را داخل آن قرار دهید:
return [ 'default' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, ], // ... ];
[divider]
مثال کاربردی
به فایل routes.php که وظیفه مسیریابی را بر عهده دارد بروید و کد زیر را به آن اضافه کنید:
// [your site path]/Http/routes.php Route::any('captcha-test', function() { if (Request::getMethod() == 'POST') { $rules = ['captcha' => 'required|captcha']; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { echo '<p style="color: #ff0000;">Incorrect!</p>'; } else { echo '<p style="color: #00ff30;">Matched :)</p>'; } } $form = '<form method="post" action="captcha-test">'; $form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">'; $form .= '<p>' . captcha_img() . '</p>'; $form .= '<p><input type="text" name="captcha"></p>'; $form .= '<p><button type="submit" name="check">Check</button></p>'; $form .= '</form>'; return $form; });
نمونه مثال استفاده از کدکپچا در فرم ثبت نام:
موفق و پیروز باشید…
عالی بود ممنون
سلام
برای لارول ۵٫۴ هست این پکیج؟
این پکیج بر روی تمامی زیر نسخه های لاراول ۵ شامل ۵٫۱ و ۵٫۲ و ۵٫۳ و ۵٫۴ میتواند مورد استفاده قرار بگیرد. لازم به ذکر است این پکیج با نسخههای ۵٫۱ و ۵٫۲ تست شده است و در مورد نسخه ۵٫۴ نیز نگرانی وجود ندارد.
سلام
میشه بی زحمت نحوه استفاده در فرمم بگید ک چجوری فراخوانی بشه
ممنون
سلام خیلی خوب بود خوشحال شدم الهی دستتون درد نکنه