thinkphp5.1版本-驗證碼生成和校驗

  • 2019 年 12 月 27 日
  • 筆記

thinkphp5.1版本開始將驗證碼歸類為擴展庫,而不是3.2版本的雜項,如下圖。同時也不在項目安裝中提供驗證碼擴展類,需要在使用時通過composer方式進行安裝。下面說一下安裝方式。

一、前提

(1)確保服務器上項目目錄已經安裝thinkphp5.1框架文件

(2)電腦上已經安裝composer,composer安裝:composer系列之介紹及安裝

二、在項目目錄,含有composer.json層級下右鍵->在此處打開命令窗口;

三、在windows命令行窗口模式下輸入以下命令,並回車,等待安裝更新完成;

composer require topthink/think-captcha

此處注意,如果沒有設置composer鏡像,請先設置國內鏡像,輸入以下命令,並回車;

composer config -g repo.packagist composer https://packagist.laravel-china.org

四、查看文件

進入vendor/topthink目錄下是否含有think-captcha文件夾;

五、驗證碼生成

在控制內引入擴展庫

use thinkcaptchaCaptcha;
/**   * 驗證碼   * @return mixed   */  public function docode()  {      $config  = [          'fontSize' => 30,          'length' => 3,          'useCurve' => false,          'useNoise' => false,          'codeSet' => '023456789'      ];      $captcha = new Captcha($config);      return $captcha->entry();  }

六、驗證碼渲染

<img src="{:url('Login/code')}" alt="驗證碼" />

七、驗證碼校驗

$code = input('post.code');  if(!captcha_check($code)) {      $this->error('驗證碼錯誤,101');  }