ادغام Invisible reCAPTCHA در لاراول

امید کیانی 524 بازدید 1398/05/25
ادغام Invisible reCAPTCHA در لاراول

Invisible reCAPTCHA یک ورژن بهبود یافته از (reCAPTCHA v2 (No CAPTCHA است که توسط گوگل توسعه یافته است و کاربران تنها با کلیک روی گزینه ی “I’m not a robot” ربات نبودن خود را به اثبات می رسانند.

در Invisible reCAPTCHA باکس CAPTCHA برای کاربران تعببیه نشده است،آن به صورت نامرئی تنها با یک علامت برجسته در پایین صفحه ی وبسایت مشخص است به طوری که کاربران متوجه این تکنولوژی می شوند.

در تصویر زیر نمونه ی استفاده شده از این تکنولوژی به وضوح دیده می شود:

پیاده سازی Invisible reCAPTCHA در لاراول

ابتدا Invisible reCAPTCHA را از طریق composer نصب می کنیم:

composer require albertcht/invisible-recaptcha

سپس به مسیر app/config/app.php رفته و کد زیر را اضافه می کنیم:

'providers' => [
    ...
    AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class,
]


پیکربندی

قبل از اینکه تنظیمات config را انجام دهیم، ما نیاز داریم تا API keys را در آدرس زیر ثبت می کنیم:

https://www.google.com/recaptcha/admin/create

 و در قسمت reCAPTCHA v2، گزینه ی invisible reCAPTCHA badge را انتخاب کرده و قسمت Label و Domains را مطابق با اطلاعات خود وارد کرده و بر روی گزینه submit کلیک می کنیم.

اکنون اطلاعات دریافتی خود را درون فایل env. قرار می دهیم.

INVISIBLE_RECAPTCHA_SITEKEY={siteKey}
INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}
INVISIBLE_RECAPTCHA_BADGEHIDE=false
INVISIBLE_RECAPTCHA_DEBUG=false

اگر مقدار INVISIBLE_RECAPTCHA_BADGEHIDE=true باشد، شما می توانید لوگوی مربوط به reCAPCHA را پنهان کنید.

اگر مقدار INVISIBLE_RECAPTCHA_DEBUG=true باشد، شما می توانید وضعیت اتصال المان های CAPTCHA را در کنسول در browser خود مشاهده کنید. 

نمایش reCAPTCHA

برای نمایش reCAPTCHA در view مانند زیر عمل می کنیم:

{!! app('captcha')->render(); !!}

// or you can use this in blade
@captcha

اگر بخواهیم زبان مورد نظر را تغییر دهیم مانند زیر عمل می کنیم:

{!! app('captcha')->render($lang = null); !!}

// or you can use this in blade
@captcha('en')


اعتبارسنجی

برای اعتبارسنجی  reCAPTCHA می توانیم مانند فیلدهای دیگر در فرم هایمان عمل کنیم:

$validate = Validator::make(Request::all(), [
    'g-recaptcha-response' => 'required|captcha'
]);

 امیدوارم مورد توجه شما دوستان عزیز قرار گرفته باشه.

دیگر مقالات
امید کیانی 529 بازدید 1398/06/10
امید کیانی 685 بازدید 1398/07/14
حمید تیموری 365 بازدید 1398/06/03
حمید تیموری 9004 بازدید 1397/05/27
حمید تیموری 959 بازدید 1397/06/16


نظرات (0)
هنوز نظری ثبت نشده است
برای ثبت نظر ابتدا وارد سایت شوید