Laravel驗證碼工具gregwar/captcha

Ps:gregwar/captcha在Composer下載排行中長居第一名榜位。好用的工具大家都推薦,這個驗證碼工具作者本人也在很多項目中運用到了。給大家推薦的同時分享點經(jīng)驗。

驗證碼.png

第一步:安裝方法

1.在項目根目錄執(zhí)行下列命令
composer require gregwar/captcha
2.在composer.json中添加:

 "require": {
      ...
      ...
      "gregwar/captcha": "1.*"
   },

然后執(zhí)行composer update
這樣安裝就算完成了。

第二步:使用方法

命名空間引入
use Gregwar\Captcha\CaptchaBuilder; use Gregwar\Captcha\PhraseBuilder;

下面給大家一個完整的例子

路由定義(注意:該路由放在中間件外)

Route::get('/code/captcha/{tmp}', 'Admin\LoginController@captcha');

驗證碼生成

public function captcha($tmp)
{
    $phrase = new PhraseBuilder;
    // 設置驗證碼位數(shù)
    $code = $phrase->build(6);
    // 生成驗證碼圖片的Builder對象,配置相應屬性
    $builder = new CaptchaBuilder($code, $phrase);
    // 設置背景顏色
    $builder->setBackgroundColor(220, 210, 230);
    $builder->setMaxAngle(25);
    $builder->setMaxBehindLines(0);
    $builder->setMaxFrontLines(0);
    // 可以設置圖片寬高及字體
    $builder->build($width = 100, $height = 40, $font = null);
    // 獲取驗證碼的內容
    $phrase = $builder->getPhrase();
    // 把內容存入session
    \Session::flash('code', $phrase);
    // 生成圖片
    header("Cache-Control: no-cache, must-revalidate");
    header("Content-Type:image/jpeg");
    $builder->output();
}

模板案例

<input name="captcha" type="text" placeholder="驗證碼">  
<a onclick="javascript:re_captcha();">  
      ![]({{ URL('/code/captcha/1') }})  
</a>

Js點擊換驗證碼

<script type="text/javascript">  
function re_captcha() {  
    $url = "{{ URL('/code/captcha') }}";
    $url = $url + "/" + Math.random();
        document.getElementById('127ddf0de5a04167a9e427d883690ff6').src = $url;
    }
</script>

如何驗證(由于是案例 我只做最基礎的驗證)

public function store(Request $request)
{
    $userInput = \Request::get('captcha');

    if (Session::get('milkcaptcha') == $userInput) {
        //用戶輸入驗證碼正確
        return '您輸入驗證碼正確';
    } else {
        //用戶輸入驗證碼錯誤
        return '您輸入驗證碼錯誤';
    }
}

本文根據(jù) http://www.itdecent.cn/p/8e4ac7852b5a 整理與實現(xiàn)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Ps:gregwar/captcha在Composer下載排行中長居第一名榜位。 一、安裝方法 ``` 1.在項目...
    李景磊閱讀 1,036評論 0 1
  • 推薦視頻資料 視頻中作者把驗證碼直接放入了laravel自帶的驗證里面去了,驗證是在再帶的login方法里面處理返...
    云龍789閱讀 6,279評論 0 2
  • Ps:gregwar/captcha在Composer下載排行中長居第一名榜位。好用的工具大家都推薦,這個驗證碼工...
    科哚洛夫閱讀 362評論 0 0
  • 0.1配置1.模板繼承2.控制器3.git4.支付寶支付的流程5.路由6.中間件7.請求8.laravel 學習筆...
    云龍789閱讀 887評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139

友情鏈接更多精彩內容