一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - ThinkPHP驗證碼使用簡明教程

ThinkPHP驗證碼使用簡明教程

2020-06-16 11:36PHP開發網 PHP教程

驗證碼功能主要是為了防止網站登錄功能被刷,但是根據現在市面上常見的驗證碼功能,很容易被繞過,所以如果想讓網站足夠安全的話,最好再研究深入一些

一、首先需要在控制器中加入驗證碼方法admin/Lib/Action/LoginAction.class.php
知識點:
1、ob_clean函數用途
2、import方法調用think默認類庫
3、Image類buildImageVerify方法使用

代碼如下:

復制代碼 代碼如下:

Public function verify(){
 ob_clean();
 //ob_clean函數 清空先前輸出
 import('ORG.Util.Image');
 //import調用的是message/ThinkPHP框架目錄下的擴展包Extend/Library/ORG/Util/中的Image.class.php類文件
 Image::buildImageVerify();
 //調用buildImageVerify方法生成驗證碼,默認參數為($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify'),有興趣的朋友可以研究下Image類
}

 

二、在模板文件中加入驗證碼模塊admin/Tpl/Login/index.html
知識點:
1、驗證碼圖片調用
2、js相關運行流程了解
3、__PUBLIC__常量

在密碼輸入框后加入如下代碼:

復制代碼 代碼如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="__PUBLIC__/Js/jquery-1.7.2.min.js"></script>
//__PUBLIC__常量可以在頁面加載后,“查看頁面源文件”中找到定義的__PUBLIC__目錄,默認為項目根目錄message下的Public目錄,下面會講解如何自定義__PUBLIC__系統常量
//jquery文件,只有加載了這個文件才可以調用jquery的方法
<script type="text/javascript" src="__PUBLIC__/Js/login.js"></script>
//這里的具體代碼會在下面貼出,其實只是定義了一個change_code函數,也就是更換驗證碼的異步操作(可以在不刷新頁面的情況下更換)

 

<title>Message Board BackGround</title>
</head>
<body>

 <form action="{:U('admin.php/Login/login')}" method="post" name="back_login" >
  <h2>簡易后臺登錄系統</h2>
  用戶名:<input type='username' name='username' id='username' />
  <br />
  密碼:<input type='password' name='password' id='password' />
  <br />
  驗證碼:<input type="code" name="code"/>
  //這里需要注意將type設置為code,name命名為code
  <img src="{:U('Admin/Login/verify','','')}" id="code"/>
  //img標簽下的src就是調用Login控制器中的veryfy方法
  //后面的兩個參數留空是必須的,其中第2個沒實際意義,主要是為了第3個參數留空,這樣設置可以取消偽靜態后綴名,否則默認的偽靜態后綴名為html,將會導致無法正常加載圖片
  <a href="javascript:void(change_code(this));">看不清</a>
  //這里調用了個
  <br />
  <input type="submit"  value="登錄"/>
 </form>

</body>
</html>


login.js文件在message/Public/目錄下
文件內容如下:

復制代碼 代碼如下:

verifyURL = 'http://localhost/message/admin.php/Login/verify';
//定義驗證碼路徑
function change_code(obj){
 $("#code").attr("src",verifyURL+'/'+Math.random());
 //動態生成驗證碼方法,有興趣的朋友可以深入研究下jq方法
 return false;
}

 

另:__PUBLIC__文件定義在message/admin/Conf/config.php
在配置中,加入如下內容,即可改變__PUBLIC__路徑
配置如下:

復制代碼 代碼如下:

//常量相關配置
'TMPL_PARSE_STRING' => array(
 '__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Public',
 //路徑改變為message/admin/Public,刷新頁面,驗證碼依然可以刷新,則表明js生效,也可“查看頁面源文件”
),

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 肉大捧一进一出视频免费播放 | 手机看片黄色 | 日韩性事 | 王雨纯 羞羞 | 毛片一级毛片 | 久久精品一区 | 办公室大战秘书呻吟 | 国产伦精品一区二区三区免费观看 | 国产精品一久久香蕉产线看 | 欧美日韩国产精品综合 | 亚洲AV无码乱码在线观看浪潮 | 日韩欧美中文字幕一区 | 国产成人综合一区人人 | 国产精品一区二区三区免费视频 | 欧美1 | 色婷婷综合久久久中文字幕 | 免费一级国产生活片 | 放荡的女老板bd中文字幕 | 亚洲欧美日韩高清 | 扒开双腿羞辱调教play视频 | 国产区成人综合色在线 | 8x在线永久成人影院 | 91高清国产经典在线观看 | 陈峰姚瑶全集小说无删节 | 国产真实伦对白在线播放 | 日韩三及片 | 成年人免费在线看的惊悚动作片 | 欧美人与禽交片在线播放 | 日本一区二区三区视频在线观看 | 99精品国产成人一区二区 | 四虎影音 | 荡娃艳妇有声小说 | 午夜成私人影院在线观看 | 欧美精品三区 | 99re5在线精品视频热线 | 国产在线精品一区二区高清不卡 | 2018久久精品热在线观看 | 国产欧美日韩综合 | 久久人妻少妇嫩草AV无码 | 日韩精品欧美国产精品亚 | 亚洲男女在线 |