第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

驗證碼的使用

1.前言

本小節(jié)主要介紹 ThinkPHP 提供的驗證碼,驗證碼主要用于前端網頁表單驗證,防止數據重復提交或者惡意多次提交,本小節(jié)主要介紹一下驗證碼的使用,驗證碼的原理很簡單,就是服務后端通過生成某個驗證碼圖片,然后同時把驗證碼中對應的答案內容存入緩存,然后訪問者必須要輸入正確內容才能驗證通過,需要注意的是實際業(yè)務中若是更加嚴格的驗證方式,可以使用手機短信驗證更加安全。

2.加載 think-captcha 拓展包

使用如下 composer 命令可加載驗證碼的拓展包:

composer require topthink/think-captcha

如下圖所示:
圖片描述

3.新建一個驗證碼生成接口

3.1 定義路由

//生成驗證碼
Route::get('captcha','app\controller\Study\CaptchaController@createCaptcha');

如下圖所示:
圖片描述

3.2 新建驗證碼生成方法

<?php


namespace app\controller\Study;


use app\BaseController;
use think\captcha\facade\Captcha;

class CaptchaController extends BaseController
{
    /**
     * 生成驗證碼
     * @return \think\Response
     */
    public function createCaptcha()
    {
        return Captcha::create();
    }
}

如下圖所示:
圖片描述

在瀏覽器中請求結果如下:
圖片描述

4.驗證碼驗證

這里以之前添加學生接口為例,可以添加如下代碼:

$captcha = $this->request->param('captcha');
if(!captcha_check($captcha)){
// 驗證失敗
	throw new HttpException(401, "驗證碼驗證失敗");
}else{
	echo "驗證成功";
}

如下圖所示:
圖片描述
下面演示驗證失敗的情況:
圖片描述

下面演示驗證成功的情況:
圖片描述

5.小結

本小節(jié)主要介紹了 ThinkPHP 提供的驗證碼如何生成,然后在接口中可以校驗驗證碼是否正確,驗證碼使用一次之后就失效了,可以有效地防止數據的重復提交或惡意提交,在實際業(yè)務中,通常使用第三方驗證,如短信驗證,拼圖驗證等等。

Tips: 代碼倉庫:https://gitee.com/love-for-poetry/tp6