برنامه نویسی

Google reCAPTCHA را در ثبت نام لاراول بریز اضافه کنید

در این پست، گام به گام شما را راهنمایی می کنم که چگونه چک باکس Google reCAPTCHA v2 را به فرم ثبت نام لاراول بریز اضافه کنید. من از بسته NoCaptcha Laravel استفاده خواهم کرد. ادغام reCAPTCHA در برنامه شما به جلوگیری از ثبت نام خودکار هرزنامه کمک می کند.

## مرحله 1: به دست آوردن کلیدهای reCAPTCHA
به وب سایت Google reCAPTCHA (https://www.google.com/recaptcha) بروید و با حساب Google خود وارد شوید. روی علامت + کلیک کنید و مشخصات را به صورت زیر وارد کنید:

برچسب: از نام دامنه برنامه خود استفاده کنید

نوع reCAPTCHA: چالش(v2) را انتخاب کنید و تیک I’m not a robot را بزنید

دامنه: در مورد ما 127.0.0.1 را اضافه کنید زیرا در یک ماشین محلی هستید، اما می توانید بعداً آن را به نام دامنه خود یک بار در سرور زنده تغییر دهید یا فقط نام دامنه مورد استفاده خود را اضافه کنید.

توضیحات تصویر
برای ایجاد کلیدهای سایت خود روی ارسال کلیک کنید

توضیحات تصویر

پس از ایجاد کلیدها، آنها را کپی کرده و در جای دیگری قرار دهید زیرا بعداً مورد نیاز خواهند بود.

مرحله 2: بسته NoCaptcha Laravel را نصب کنید

برای نصب بسته NoCaptcha این دستور را اجرا کنید.

composer require anhskohbo/no-captcha
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از نصب بسته، فایل config/app.php خود را باز کنید و خط زیر را به آرایه ارائه دهندگان اضافه کنید.

Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class,
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

سپس دستور زیر را برای انتشار فایل پیکربندی بسته اجرا کنید.

php artisan vendor:publish --provider="Anhskohbo\NoCaptcha\NoCaptchaServiceProvider"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: پیکربندی بسته NoCaptcha

تولید شده را باز کنید config/nocaptcha.php فایل. در این فایل، باید NOCAPTCHA_SECRET و NOCAPTCHA_SITEKEY را در فایل env. عرضه کنیم.

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

توضیحات تصویر

مرحله 4: به روز رسانی نماهای ثبت نام لاراول بریز

باز کن resources/views/auth/register.blade.php فایل. و موارد زیر را قبل از دکمه ارسال اضافه کنید.

<!-- google recaptch -->
  <div class="mt-4">
      {!! NoCaptcha::renderJs() !!}
      {!! NoCaptcha::display() !!}
      @if ($errors->has('g-recaptcha-response'))
      <x-input-error :messages="$errors->first('g-recaptcha-response')" />
      @endif
  </div>
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: به روز رسانی Laravel Breeze Registration Controller

باز کن app/Http/Controllers/Auth/RegisteredUserController.php فایل. و کد زیر را به متد store اضافه کنید تا پاسخ reCAPTCHA تایید شود.

$this->validate($request, [
    // Existing validation rules...
    'g-recaptcha-response' => 'required|captcha',
],['g-recaptcha-response' => 'Please Verify you are not a robot']);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه داشته باشید: [‘g-recaptcha-response’ => ‘Please Verify you are not a robot’] برای تنظیم پیام کاربر پسندتر در صورت بروز خطا استفاده می شود.

سرور را راه اندازی کنید و به آن بروید http://localhost:8000/register

باید چک باکس جدید Google Recaptcha را ببینید

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا