شماره تماس : 09014413449

    ...

  • ...

  • ...

  • ...

ثبت نام / ورود

ری کپچای گوگل

mba
14 آبان 1401
دسته بندی laravel

سلام دوستان،

در این پست، نحوه کار با لاراول 9 google recaptcha v3 را به شما نشان خواهم داد. در این مثال عملی نحوه ایجاد کدامنیتی آموزش خواهم داد

Google ReCaptcha V3 یک سیستم شبیه به کپچا است که امنیت را در برابر هکرها و استیک ها  تامین میکند و یا از ارسال اسپم جلوگیری می کند. این روش اطمینان می دهد که کاربر رایانه یک انسان است. این بهترین و پرکاربردترین سیستم کپچای موجود است که در آن کاربران فقط باید بر روی یک چک باکس کلیک کنند و در برخی موارد برخی از تصاویر مشابه مربوط به سؤال conman را انتخاب کنند. ای نبسته به انتخاب سختی و یا راحتی حل کدامنیت است که در صفحه ادمین گوگل میبیند لینکش پایینه

در این مثال، یک فرم ثبت نام ساده ایجاد می کنیم و یک کد کپچای گوگل را پیاده سازی می کنیم. قبل از استفاده از کد کپچای گوگل، بسته  "زیر را  نصب کنید
composer require anhskohbo/no-captcha

برای این کار پکیج های متعددی هست همچنین دوستان بهتره بدونید  گاها که گوگل برای ایران مسدود میشه ری کپچای گوگل کارنخواهد کرد و همچنین سایر سرویس های اون 
پس بهتره یه alternativeیا جایگزین داشته باشید مثلا کپچای ریاضی با داده های افلاین ایجاد کنید تو سایت پکیجیست اگر جستجو کنید هست
خب برگردیم ادامه آموزش
پس از نصب پکیچ ری کپچا داخل فایل config/app.php مسیر ریکپچا را قرار بدید

 

return [
	
	$provides => [
		
		Anhskohbo\NoCaptcha\NoCaptchaServiceProvider::class
	],
]

 

 

و همچنین داخل aliases

'NoCaptcha' => Anhskohbo\NoCaptcha\Facades\NoCaptcha::class,

 


در این مرحله باید کلید سایت گوگل و کلید مخفی را تنظیم کنیم. اگر کلید سایت و کلید مخفی ندارید، می توانید از اینجا ایجاد کنید. ابتدا روی این لینک کلیک کنید: https://www.google.com/recaptcha/admin

مانند تصویر زیر برای تست در سیستم خودتون localhost رو بزنید و برای تست در هاست آدرس سایت خودتون
پس از ثبت سایت کدهای دریافتی رو داخل فایلenv به این شکل قرار بدید


 

NOCAPTCHA_SECRET=[secret-key]

NOCAPTCHA_SITEKEY=[site-key]

البته برای امنیت بیشتر میتونید داخل پوشه کانفیک فایل سرویس به این شکل قرار بدید 


'recaptcha' => [
        'key' => env('CAPTCHA_KEY'),
        'secret' => env('CAPTCHA_SECRET'),
    ],

 

 


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


Validator::extend('recaptcha' , function ($attribute , $value , $parameters , $validator){
            // POST
            $client = new \GuzzleHttp\Client();
            $response = $client->request('POST', 'https://www.google.com/recaptcha/api/siteverify', [
                'form_params' => [
                    'secret' => config('services.recaptcha.secret'),
                    'response' => $value,
                    'remoteip' => request()->ip()
                ]
            ]);

            $response = json_decode($response->getBody());

            return $response->success;
        });

 

 

خب دیگه تمومه با این روش اعتبار سنجی رو بیارید داخل ثبت نظرات یا ثبت نام و یا .... 


$request->validate([

          
            'g-recaptcha-response' => 'required|recaptcha'
            ],
        [
            'name.required' => 'نام خود را درج ننمودید',
         
            'g-recaptcha-response.*' => 'تایید کنید ربات نیستید'

        ]);

 

 

در نهایتا فراخوانی کنید مثلا داخل فرم لاگین

@include('cap.recaptcha')

 

 

 

ضمنا تا cdn و لینک اسکریپت  نباشن کار نمیکنه  میتونید جی کوئری رو افلاین کنید

اینا رو بزارید داخل فایل cap  بعد فراخوانی کنید





 

 

 

آموزش لاراول - آموزش طراحی سایت - کدامنیتی گوگل - ریکپچای گوگل چیه - کپچا در لاراول - ساخت کپچا در لاراول - قیمت طراحی سایت -وب ریچ - محمدباقر آیرملو- تصویر امنیتی گوگل- تصویر امنیتی در لاراول - آموزش طراحی سایت-توابع کاربردی php - سورس سایت- ابزار seotools - سئوی لاراول-https://etemadgostar-urmia.com/ -اعتماد گستر ارومیه

نظرات

برای ارسال نظر شما باید ابتدا وارد حساب کاربری خود شوید.