1、通過composer安裝驗證碼包
在Composer裡執行以下命令
composer require mews/captcha
2、配置
在 config/app.php 中 找到 aliases陣列加入以下程式碼
'Captcha' => Mews\Captcha\CaptchaServiceProvider::class,
3、生成配置檔案
在Composer裡執行以下命令,如果彈出選項,選擇到config,我的config的tag是11,輸入11後回車,然後就會在config資料夾裡生成配置檔案;配置檔案裡的length是生成驗證碼多少位;
php artisan vendor:publish
4、前端使用驗證碼
在需要的地方加入
<img src="{{captcha_src()}}">
如果是用的vue.js。可以這樣
/*html部分*/
<img class="codeImg" :src="urlCode" style="cursor: pointer" @click="getCode">
/*js部分*/
<script>
new Vue({
el: '.main',
data: {
urlCode:"",
},
created(){
this.getCode();
},
methods: {
getCode(){
let domain = document.domain;
$.get('http://'+domain+'/getCode',(res)=>{
this.urlCode =res.code;
})
},
goLogin(){
document.onkeyup = (event) => {
let e = event || window.event;
if(e && e.keyCode==13){
//執行登入
}
};
},
}
})
</script>
5、控制器生成驗證碼
public function codes()
{
return response()->json([
'code' => \captcha_src() //返回前端影像驗證碼
]);
}
6、驗證碼驗證
if(!captcha_check($params['code'])){
return Response()->json(['code' => 201, 'msg' => '驗證碼有誤']);
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結