tp中php验证码程序,thinkPHP 验证码生成与验证
您現在的位置是:網站首頁>>PHP>>thinkPHP
thinkPHP 驗證碼生成與驗證
發布時間:2018-12-06 13:34:11作者:wangjian瀏覽量:842點贊量:0
在thinkPHP中實現驗證碼使用了think-captcha擴展包
1:安裝think-captcha擴展包
使用Composer進行安裝think-captcha拓展,如果你沒有安裝Composer的話,可以參考Composer 安裝composer?require?topthink/think-captcha
2:生成驗證碼
在控制器中添加一個驗證碼方法,例:<?php
namespace app\index\controller;
use think\captcha\Captcha;
class Index
{
public function verify()
{
$captcha = new Captcha();
return $captcha->entry();
}
}
在瀏覽器上訪問verify方法對應的方法,例:http://local.tp.com/index/verify
瀏覽器顯示效果如下
這時候驗證碼生成成功
注意:
如果你需要在一個頁面中生成多個驗證碼的話,entry方法需要傳入可標識的信息(數字或者字符串)$captcha = new Captcha();
return $captcha->entry(1);
驗證碼的配置參數
參數描述默認codeSet驗證碼字符集合略
expire驗證碼過期時間(s)1800
useZh使用中文驗證碼false
zhSet中文驗證碼字符串略
useImgBg使用背景圖片false
fontSize驗證碼字體大小(px)25
useCurve是否畫混淆曲線true
useNoise是否添加雜點true
imageH驗證碼圖片高度,設置為0為自動計算0
imageW驗證碼圖片寬度,設置為0為自動計算0
length驗證碼位數5
fontttf驗證碼字體,不設置是隨機獲取空
bg背景顏色[243, 251, 254]
reset驗證成功后是否重置true
例:$config =? ? [
// 驗證碼字體大小
'fontSize'? ? =>? ? 30,
// 驗證碼位數
'length'? ? ? =>? ? 5,
// 關閉驗證碼雜點
'useNoise'? ? =>? ? true,
];
$captcha = new Captcha($config);
return $captcha->entry();
3:驗證碼在模板中顯示
4:驗證碼驗證// 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串
if( !captcha_check($value ))
{
// 驗證失敗
}
如果你在頁面上同時生成了多個驗證碼,則可以使用// 檢測輸入的驗證碼是否正確,$value為用戶輸入的驗證碼字符串,$id為驗證碼標識
if( !captcha_check($value, $id ))
{
// 驗證失敗
}
5:實現驗證碼實例
(1)控制器中<?php
namespace app\admin\controller;
use think\captcha\Captcha;
use think\Controller;
use think\facade\Request;
class Index extends Controller
{
public function verify()
{
$config =? ? [
// 驗證碼字體大小
'fontSize'? ? =>? ? 30,
// 驗證碼位數
'length'? ? ? =>? ? 5,
// 關閉驗證碼雜點
'useNoise'? ? =>? ? true,
];
$captcha = new Captcha($config);
return $captcha->entry();
}
public function index()
{
$has_text = Request::has('text','post');
if($has_text){
$text = Request::post('text');
if( !captcha_check($text))
{
echo '驗證失敗';
// 驗證失敗
}else{
//驗證成功
echo '驗證成功';
}
}else{
return $this->fetch()
}
}
}
模板中
? ?
點擊刷新
//刷新驗證碼
function changeVer(){
document.getElementById("verImg").src="{:url('index/verify')}?tmp="+Math.random();
}
現象如下
0
+1
總結
以上是生活随笔為你收集整理的tp中php验证码程序,thinkPHP 验证码生成与验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 十六进制数组,【MATLA
- 下一篇: mysql select time,My