نماد سایت امپراطوری من

پکیج کپچا برای لاراول ۵

فریم ورک لاراول

برای ایجاد قابلیت کدکپچا یا همان تصویر امنیتی در فریم ورک لاراول، راه های مختلفی وجود دارد. ساده ترین و سریع ترین راه استفاده از پکیج های آماده است. یکی از پکیج های قدرتمند در این زمینه mews captcha است که با نسخه های ۵ و ۵٫۱ لاراول سازگار است. با اضافه کردن این سرویس به لاراول ۵ می توانید تصویر امنیتی تولید  کرده و در فرم های ثبت نام و لاگین مورد استفاده قرار دهید و با این کار امنیت وب سایت خود را بالا ببرید.

نصب

برای نصب این سرویس باید به دایرکتوری پروژه خود بروید و سپس دستور زیر را در ترمینال(لینوکس) و یا cmd(ویندوز) وارد کنید:

composer require mews/captcha

پس از اجرای دستور بالا، دستور زیر را وارد کنید:


composer update

[divider]

استفاده در لاراول ۵٫۰

برای اینکه قابلیت های این سرویس را فعال کنید باید provider و alias این سرویس را در فایل app/config.php وارد کنید. ابتدا فایل config.php را بازکنید و به بخش provider ها بروید و عبارت زیر را اضافه کنید(قسمت قرمز رنگ را اضافه کنید):

    'providers' => [
        // ...
        'Mews\Captcha\CaptchaServiceProvider',
    ]

سپس در همین فایل به بخش aliases بروید و عبارت زیر را در آنجا وارد کنید(قسمت قرمز رنگ):

    'aliases' => [
        // ...
        'Captcha' => 'Mews\Captcha\Facades\Captcha',
    ]

[divider]

استفاده در لاراول ۵٫۱+

برای فعال کردن قابلیت های این سرویس در لاراول ۵٫۱ باید فایل app/config.php را باز کنید و دستورات زیر را در داخل آن وارد کنید:

    'providers' => [
        // ...
        Mews\Captcha\CaptchaServiceProvider::class,
    ]

سپس در همین فایل به بخش aliases بروید و عبارت زیر را در آنجا وارد کنید(قسمت سبز رنگ):

    'aliases' => [
        // ...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ]

[divider]
تنظیمات

بعد از نصب سرویس باید مقادیر مورد نیاز برای تولید تصویر امنیتی را در اختیار سرویس قرار دهید. مثلا این که ابعاد تصویر امنیتی چقدر باشد یا اینکه کیفیت عکس چه میزانی باشد و یا اینکه تصویر امنیتی چند حرفی باشد و… برای وارد کردن این تنظیمات ابتدا دستور زیر را در ترمینال وارد کنید:

<code>php artisan vendor:publish</code>

سپس داخل پوشه configبروید و فایل captcha.php را بسازید و کد زیر را داخل آن قرار دهید:


return [
    'default'   => [
        'length'    => 5,
        'width'     => 120,
        'height'    => 36,
        'quality'   => 90,
    ],
    // ...
];

[divider]
مثال کاربردی

به فایل routes.php که وظیفه مسیریابی را بر عهده دارد بروید و کد زیر را به آن اضافه کنید:


    // [your site path]/Http/routes.php

    Route::any('captcha-test', function()
    {
        if (Request::getMethod() == 'POST')
        {
            $rules = ['captcha' => 'required|captcha'];
            $validator = Validator::make(Input::all(), $rules);
            if ($validator->fails())
            {
                echo '<p style="color: #ff0000;">Incorrect!</p>';
            }
            else
            {
                echo '<p style="color: #00ff30;">Matched :)</p>';
            }
        }

        $form = '<form method="post" action="captcha-test">';
        $form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
        $form .= '<p>' . captcha_img() . '</p>';
        $form .= '<p><input type="text" name="captcha"></p>';
        $form .= '<p><button type="submit" name="check">Check</button></p>';
        $form .= '</form>';
        return $form;
    });

نمونه مثال استفاده از کدکپچا در فرم ثبت نام:

موفق و پیروز باشید…

خروج از نسخه موبایل