Laravel的驗證碼庫

韦小宝
發布: 2023-03-17 16:26:02
原創
1326 人瀏覽過

Laravel中有很多圖片驗證碼的函式庫可以使用,本篇介紹其Laravel之一:gregwar/captcha,這個函式庫比較簡單,在Laravel中比較常用。下面我們就來介紹下使用細節:

首先, composer.json中如下加入配置:

"require": {
        ...
        "gregwar/captcha": "1.*"
    },
登入後複製

然後,已成習慣的指令:

composer update
登入後複製

接下來就可以正常使用了,根據具體的開發需求,可以有很多種方式去使用。

可以將驗證碼圖片儲存檔案:

save('out.jpg');
登入後複製

可以直接輸出圖片到網頁:

output();
登入後複製

可以產生內嵌圖片:

登入後複製

以下示範了其中一種使用方式,直接輸出圖片到網頁。

定義一個Controller:

登入後複製

//引用對應的命名空間

use Gregwar\Captcha\CaptchaBuilder;
use Session;

class KitController extends Controller {

   /**
    * Display a listing of the resource.
    *
    * @return Response
    */
   public function captcha($tmp)
   {
       //生成验证码图片的Builder对象,配置相应属性
       $builder = new CaptchaBuilder;
       //可以设置图片宽高及字体
       $builder->build($width = 100, $height = 40, $font = null);
       //获取验证码的内容
       $phrase = $builder->getPhrase();

       //把内容存入session
       Session::flash('milkcaptcha', $phrase);
       //生成图片
       header("Cache-Control: no-cache, must-revalidate");
       header('Content-Type: image/jpeg');
       $builder->output();
   }
}
登入後複製

下面我們可以設定對應的router存取這個驗證碼圖片, 修改router.php:

Route::get('kit/captcha/{tmp}', 'KitController@captcha');
登入後複製

現在可以透過特定的url,可以訪問看到這張圖片了。

驗證碼

表單內部寫的比較簡單,看看即可:



  验证码

登入後複製

最後就是在form提交頁面驗證對應驗證碼,庫中也為我們提供了對應方法:

$userInput = $request->get('captcha');
if($builder->testPhrase($userInput)) {
    //用户输入验证码正确
    return '您输入验证码正确';
} else {
    //用户输入验证码错误
    return '您输入验证码错误';
}
登入後複製

至此,驗證碼就完成了。以上就是Laravel的驗證碼庫gregwar/captcha的使用過程,有興趣的到PHP中文網搜尋更多哦~

相關推薦:

laravel使用mongodb資料庫的方法教學

##Laravel中開發簡訊驗證碼發送功能

Laravel中關於model validation的使用範例


以上是Laravel的驗證碼庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!