روش اسان بکارگیری google reCAPTCHA v3 در لاراول

قصد معرفی google reCAPTCHA رو ندارم. احتمالا هموتون باهاش اشنایی دارین ولی میتونین این ویدیوی رسمی google reCAPTCHA v3 رو ببینین.

https://www.aparat.com/v/I0AeC




استفاده از reCAPTCHA v3

از پکیج google/recaptcha استفاده میکنیم که باید دستور زیر رو توی ترمینال وارد کنید.

composer require google/recaptcha "^1.2"

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

public function contactForm(Request $request)
{
   $response = (new \ReCaptcha\ReCaptcha($secret))
        ->setExpectedAction('contact_form')
        ->verify($request->input('_recaptcha'), $request->ip());

    if (! $response->isSuccess()) {
        abort(403);
    }
   if ($response->getScore() < 0.6) {
      return view('challenge');
    }
    return view('success');
}

روش ()isSuccess چک می‌کند که آیا پاسخ به reCAPTCHA موفق است یا خیر. اگر نه، پس باید درخواست را کاملا از زمانی که یک نفر یا چیزی درخواست تغییر داده، رو حذف کنید.


سپس روش ()getScore به شما این امکان را می‌دهد که ببینید آیا امتیاز بالاتر از حد آستانه است یا خیر. هنگامی که آستانه بسیار پایین است، احتمالا توسط یک روبات پر می‌شود، بنابراین می‌توانید برای اطمینان از اینکه، اگر واقعا یک انسان مثل یه روبات عمل میکند، هنوز هم می‌تواند درخواست را انجام دهد. برای مثال، می‌توانید یک ایمیل بفرستید یا یک چالش مانند یک سوال تصادفی را اضافه کنید.


روش‌های دیگر برای تایید و تجزیه و تحلیل بسیار دقیق‌تر هستند، که اگر از روبات‌ها در سایت خود انتظار دارید، باید کاملا از آن استفاده کنید.