19
تشکر

استفاده از Captcha در Laravel

Laravel

Laravel

اگر سری آموزش فریم ورک Laravel را دنبال کرده باشید، احتمالا خواسته اید که کتابخانه یا قطعه کد یا یک کلاس جداگانه را به Laravel اضافه کنید. در نسخه های قدیمی، Laravel از bundle برای اینکار استفاده میکرد، که البته این راه استاندارد آن بود و راه های متفاوت دیگری نیز وجود دارد. اما در نسخه های جدید Laravel از Package استفاده میکند و دیگر دستور php artisan bundle در Laravel وجود ندارد.

اما استفاده از Packageها صجبت این مطلب ما نیست. در واقع ما با استفاده از این قابلیت (Package)، قطعه کدی که قبلا برای ایجاد Captcha در آپارنت گذاشته بودیم را به Laravel وارد کردیم. برای استفاده از Captcha در Laravel کافیست این پکیج را به Laravel اضافه کنید و از آن استفاده نمایید.

در ادامه مطلب همراه ما باشید…

نصب پکیج

تصویر زیر نمونه ای از پکیج است.

Captcha

Captcha

برای نصب پکیچ، فایل composer.json در ریشه Laravel را باز کرده و در قسمت require، کد “mohsen/captcha”: “dev-master” را اضافه کنید.

"require": {
  "laravel/framework": "4.1.*",
  "mohsen/captcha": "dev-master"
},

سپس ترمینال را باز کرده و دستور composer update را در ریشه Laravel اجرا کنید و منتظر باشید تا کتابخانه ها بروزرسانی و دانلود شود.

پس از انجام اینکار وارد فایل app.php در مسیر app/config شده و در آرایه providers، کد ‘Mohsen\Captcha\CaptchaServiceProvider’ را اضافه کنید.

'providers' => array(
  'Mohsen\Captcha\CaptchaServiceProvider'
),

نحوه استفاده

برای استفاده کافیست کدهای زیر را درون فرم HTML خود قرار دهید.

<img alt="" src="{{ URL::to('/captcha') }}" />
<input type="text" name="user-captcha" />

و با روش استاندارد Laravel، آن را Validate کنید. اینکار با استفاده از قانون captcha انجام میشود.

$rules = array(
  'user-captcha' => 'required|captcha'
);

$validator = Validator::make(Input::all(), $rules);

if($validator -> fails()) {
  return Redirect::back() -> withErrors($validator);
}

لینک های مفید

Package Source

Packagist

  • همایون می‌گه:

    سلام … image هاشو چه طور تولید می کنه؟ تو /captcha ذخیره می کنه و از همون جا می خونه؟؟ عکسش نمیاد واسه من.

  • hassan می‌گه:

    میشه بیشتر در مورد طریقه ی استفادش توضیح بدید!!

    برای من عکس کد کپچا رو نشون نمیده فقط یه input از نوع تکست نمایش میده .

    ممنونم

  • احمد می‌گه:

    داداش میشه راجع به مدل ها در لاراول هم آموزشی تهیه کنی؟؟ ممنون از سایت خوبت

  • محمد جهانی می‌گه:

    خسته نباشی محسن جان. بسیار هم خوب و کاربردی.
    فقط یه نکته که به نظرم میاد اینه که با گذشت زمان، کپچاهای تصویری در مقابل بات‌ها ضعیف و ضعیف‌تر میشن. هرچی جلوتر میریم، بات‌ها توی پردازش تصاویر کپچا قوی‌تر میشن و کار به جایی میرسه که دیگه خود ما هم نمیتونیم کپچای تصویری رو تشخیص بدیم. همین الان هم بارها و بارها برای ثبت‌نام‌ها درگیر تشخیص میشیم و زمانمون رو از دست میدیم. برای کپچا، بایستی روش‌های جدیدی رو استفاده کرد. شاید سوالات عجیب غریب و اتفاقی، متناسب با زبان محلی کاربر. نمیدونم… این خودش باز جای کلی بررسی داره.

  • فرشاد می‌گه:

    داداش دمت گرم با مطالبی که میزاری
    من هر روز صبح اگه سایت شمارو چک نکنم سراغ کارام نمیرم
    دستت طلا


  • نظرات این مطلب بسته است.