開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. PHP >
  4. Laravel >
  5. 【Laravel】画像認証を入れる方法
【Laravel】画像認証を入れる方法

【Laravel】画像認証を入れる方法

お久しぶりです。
ニシザワです。

本社移転等でばたばたしておりましたが久々にブログを書きたいと思います。

今日はLaravelでお問い合わせフォームなどに画像認証を入れたいときがあると思います。
こんなものです。

 CaptchaforLaravel4_image.jpeg

上記の画像認証がプラグインで簡単に出来たのでご紹介します。

名前はCaptcha for Laravel 4です!
プラグインのソースはこちらから。

まずは、composer.jsonに以下のコードを追加します。
{
    "require": {
        "laravel/framework": "4.0.*",
        "mews/captcha": "dev-master"
    },
    "minimum-stability": "dev"
}
その後、ターミナルで composer update または composer install をします。

次に app/config/app.phpに以下のコードを追加します。
'providers' => array(
        // ...
        'Mews\Captcha\CaptchaServiceProvider',
    )
'aliases' => array(
        // ...
        'Captcha' => 'Mews\Captcha\Facades\Captcha',
    )
コードを追加したら、ターミナルで php artisan config:publish mews/captcha を実行してください。
これで、準備は完了です。

次に使い方です。

controllerまたはmodelまたはrouteに以下のバリデーションを入れます。
今回はcontrollerの例を書きます。
$rules =  array('captcha' => array('required', 'captcha'));
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()){
     return Redirect::to('リダイレクトする場所のPATH')->withErrors($validator)->withInput();
}

最後にviewでの記述です。
{{ Form::open(array('url' => 'POST先のURL', 'method' => 'post')) }}
{{HTML::image(Captcha::img(), 'Captcha image', $attributes = array('class' => 'captcha-image'))}} 
{{Form::text('captcha', '', $attributes = array('class' => 'captcha-text'))}}
{{ Form::submit('送信',['name' => '_submit']) }}
{{ Form::close() }}
これで、画像認証ができたと思います。
とても簡単なので使ってみてはどうでしょうか。

以上
最後までお読みいただき、ありがとうございました。
TOPに戻る