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

کد کپچا برای جلوگیری از حملات اسپمرها در سایت مورد استفاده قرار می گیرد برای تولید کد کپچا سمت کلاینت و اعتبارسنجی آن سمت سرور با فریم ورک لاراول پکیج های مختلفی وجود دارد که هریک کارایی متناسب به درخواست شما دارد که می توانید به نوع سایت خود از پکیچ ها استفاده کنید .

بهزاد میرزازاده بهزاد میرزازاده

زمان مطالعه

3 دقیقه

بازدید

435

پرسش و پاسخ

0
استفاده از کد کپچا در لاراول Google reCAPTCHA

انواع پکیج کپچا برای لاراول

  • laravel google captcha thinhbuzz
  • laravel google recaptcha biscolab
  • لیست کامل پکیج های captcha لاراول

خب در این آموزش ما میخواهیم از پکیج laravel google recaptcha biscolab استفاده کنیم این پکیج در چهار نسخه مختلف منتشر شده است آخرین نسخه این پکیج شماره 4 با نرخ دانلود 28k است که مناسب برای لاراول 5.7 به بالا می باشد.

پکیج google recaptcha لاراول

در مورد پکیج google recaptcha توضیحات اولیه را ارائه دادیم بعد از این نصب و راه اندازی نسخه 4 این پکیج را انجام خواهیم داد

نصب پکیج google recaptcha

برای نصب دستور ذیل را با composer اجرا می کنیم

$ composer require biscolab/laravel-recaptcha

اگر از نسخه لاراول 5.5 یا بالاتر استفاده می کنید نیازی به افزودن کلاس ها به فایل config/app.php نخواهید داشت اما در غیراینصورت مراحل ذیل را انجام دهید

دستور ذیل را به بخش providers اضافه کنید

Biscolab\ReCaptcha\ReCaptchaServiceProvider::class,

سپس نام مستعار را برای دسترسی با یک نام کوتاه برای این facade ایجاد کنید در قسمت aliases کد ذیل را وارد کنید

'ReCaptcha' => Biscolab\ReCaptcha\Facades\ReCaptcha::class,

برای افزودن فایل تنظیمات این پکیج به پوشه config خود، دستور ذیل را اجرا کنید پس از اجرای دستور فایل config/recaptcha.php ایجاد می شود

$ php artisan vendor:publish --provider="Biscolab\ReCaptcha\ReCaptchaServiceProvider"

نصب پکیج کامل شده است حالا باید کلیدهای خود را از طریق گوگل درست کنید و بعد در فایل .env اضافه کنید

کلیدهای google recaptcha 

با ورود به آدرس https://www.google.com/recaptcha/intro/v3.html شما می توانید کلیدهای دسترسی را با نسخه 3 گوگل ریکپچا ایجاد کنید در این صفحه توضیحات کاملی از google recaptcha می توانید دریافت کنید برای ساخت کلید های دسترسی وارد بخش admin console شوید سپس گزینه create با علامت + را کلیک کنید تا بتوانید کلیدهای دسترسی خود را ایجاد کنید گزینه های شما شامل label (عنوان دلخواهتان) ، نوع recaptcha ورژن 3 یا 2 ، دامین و .... می باشد پس از submit دو کلید دسترسی برای شما ایجاد می شود که می توانید این دوکلید را در فایل .env خود به شکل ذیل کپی کنید :

RECAPTCHA_SITE_KEY=6LfWx7oUAAAAAERDpe2JD6_02qn9iSkwkLyxAhPF   // کلید سایت
RECAPTCHA_SECRET_KEY=6LfWx7oUAAAAAI340cxJEQLcwHM-IFqtEyKNPxjx // کلید امنیتی

نکته برای پروژه که در لوکال هاست قرار دارد و هنوز به صورت آنلاین مورد استفاده قرار نمی گیرد برای نام دامین از کلمه localhost استفاده کنید.

 

تنظیمات google recaptcha

برای تنظیم تم ، ورژن و ... در این پکیج، فایل config/recaptcha.php را به تنظیمات دلخواه خود ویرایش کنید. پس از انجام این فعالیت ها برای اعمال شدن این تنظیمات حتما پاکسازی کش لاراول را انجام دهید. و برای تغییر پیغام ارور در این پکیج فایل resources/lang/[LANG]/validation.php را باز کنید کد ذیل را مشاهده خواهید کرد پیغام آن را به دلخواه خود تغییر دهید [LANG] همان زبان انتخابی شما در تنظیمات این پکیج می باشد که عموما en است.

return [
...
'recaptcha' => 'Hey!!! :attribute is wrong!',
];

نحوه استفاده از google recaptcha

یکی از این دو کد را در قسمت head فایل layouts/app.blade.php خود وارد کنید. که برای تولید validation جاوا اسکریپت خواهد بود

{!! htmlScriptTagJsApi([ 'action' => '{{ url("/") }}', 'callback_then' => 'callbackThen', 'callback_catch' => 'callbackCatch' ]) !!}
{!! htmlScriptTagJsApi([ 'action' => 'homepage', 'custom_validation' => 'myCustomValidation' ]) !!}

خب در نسخه 3 این پکیح با دستور بالا و افزودن csrf_token به head صفحه، ریکپچا اتوماتیک به تمام فرم های شما اضافه خواهد شد. برای استفاده از راهنمای کامل این پکیج به آدرس ذیل مراجعه کنید

https://laravel-recaptcha-docs.biscolab.com/docs/how-to-use-v3