花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊(cè) 退出 找回密碼

帝國(guó)CMS整合騰訊防水墻驗(yàn)證碼

時(shí)間: 2020-09-16 10:48 閱讀: 作者:素材無憂網(wǎng)

帝國(guó)CMS整合騰訊防水墻驗(yàn)證碼

效果圖

做網(wǎng)站,驗(yàn)證碼是個(gè)少不了的東西??梢宰詣?dòng)系統(tǒng)自帶的驗(yàn)證碼,這個(gè)在一般網(wǎng)站中是已經(jīng)滿足需求的。

但是,當(dāng)你感覺自帶的圖形驗(yàn)證碼不夠安全的時(shí)候,或許你就會(huì)想換種驗(yàn)證方法。這個(gè)怎么換呢?是自己開發(fā)?還是使用別人已經(jīng)開發(fā)好的?

如果自己有能力開發(fā)安全點(diǎn)的驗(yàn)證碼,就不必為此事困惑了。如果使用別人的驗(yàn)證碼?那使用誰的呢?怎么使用呢!

今天跟大家說一款驗(yàn)證碼--->騰訊防水墻,官網(wǎng)地址:https://007.qq.com/它的功能特點(diǎn)這里不多說,大家可以去它官網(wǎng)了解一下。

我們先使用qq賬號(hào)登陸一下獲取到appid、appSecretKey,這步比較簡(jiǎn)單這里不多說。

接著我們?cè)谧约壕W(wǎng)頁上引用它的js文件,代碼如下:

<script src="https://ssl.captcha.qq.com/TCaptcha.js"></script><script src="https://cdn.bootcss.com/jquery/3.3.0/jquery.js"></script>

在你想要激活驗(yàn)證碼的DOM元素(eg. button、p、span)內(nèi)加入以下id及屬性

<!--點(diǎn)擊此元素會(huì)自動(dòng)激活驗(yàn)證碼--><!--id : 元素的id(必須)--><!--data-appid : AppID(必須)--><!--data-cbfn : 回調(diào)函數(shù)名(必須)--><!--data-biz-state : 業(yè)務(wù)自定義透?jìng)鲄?shù)(可選)--><button id="TencentCaptcha"        data-appid="200316398*" //剛注冊(cè)的appid        data-cbfn="callback" // 用戶觸發(fā)驗(yàn)證時(shí)調(diào)用的函數(shù)名,可以自己定義,你想搞個(gè)aaa都行>驗(yàn)證</button>

為驗(yàn)證碼創(chuàng)建回調(diào)函數(shù),注意函數(shù)名要與data-cbfn相同

<script>window.sCallback = function(res){    if(res.ret === 0){        $.ajax({            type:'post',url:'/e/shu/captcha/index.php',data:{'enews':'checkYzm','ticket':res.ticket,'randstr':res.randstr},dataType:'json',            success:function(res) {               if(res.response==1){
                    //服務(wù)器返回正確結(jié)果,然后處理               }            }        })    }}</script>

完成以上操作后,點(diǎn)擊激活驗(yàn)證碼的元素,即可彈出驗(yàn)證碼。

服務(wù)器接入驗(yàn)證:

在驗(yàn)證完成后,客戶端收到獲得一個(gè)驗(yàn)證票據(jù)(ticket)。將票據(jù)上傳至服務(wù)器,并發(fā)送GET請(qǐng)求到下方接口可以校驗(yàn)驗(yàn)證碼的票據(jù),判斷當(dāng)次驗(yàn)證是否成功。
URL: https://ssl.captcha.qq.com/ticket/verify

字段名描述
aid (必填)2003163982
AppSecretKey (必填)01r99tD8UEg6yBWacQ9MS5w**
Ticket (必填)驗(yàn)證碼客戶端驗(yàn)證回調(diào)的票據(jù)
Randstr (必填)驗(yàn)證碼客戶端驗(yàn)證回調(diào)的隨機(jī)串
UserIP (必填)提交驗(yàn)證的用戶的IP地址(eg: 10.127.10.2)

返回值
Json格式,eg:{response:1, evil_level:70, err_msg:""}

字段名描述
response1:驗(yàn)證成功,0:驗(yàn)證失敗,100:AppSecretKey參數(shù)校驗(yàn)錯(cuò)誤[required]
evil_level[0,100],惡意等級(jí)[optional]
err_msg驗(yàn)證錯(cuò)誤信息[optional],查看詳細(xì)說明

至此,驗(yàn)證碼接入已完成,如需對(duì)驗(yàn)證碼進(jìn)行定制請(qǐng)往下閱讀詳細(xì)配置,更多配置項(xiàng)可訪問配置中心。

完整代碼如下:

<?php/**
 * Created by PhpStorm.
 * User: Shu QQ:610712114
 * Date: 2019/4/2 0002
 * Time: 上午 10:08
 * 功能:
 */require('../../class/connect.php');include("../../class/db_sql.php");$link=db_connect();$empire=new mysqlquery();$enews=$_POST['enews'];if($enews=='checkYzm') {    echo sCheckYzm($_POST);}function sCheckYzm($add) {    global $empire,$dbtbpre;    $ticket=$add['ticket'];    $randstr=$add['randstr'];    if(!$ticket) {        return json_encode(array('error'=>0,'msg'=>'票據(jù)錯(cuò)誤'));    }    $aid='您的appid'; 
    $appsecretkey='你的AppSecretKey';    $url='https://ssl.captcha.qq.com/ticket/verify?aid='.$aid.'&AppSecretKey='.$appsecretkey;    $url.='&Randstr='.$randstr;    $url.='&Ticket='.$ticket;    $url.='&UserIP='.egetip();    return httpGetRequest($url);}/**
* 函數(shù)的含義說明:CURL發(fā)送get請(qǐng)求    獲取數(shù)據(jù)
* @param str $url 發(fā)送接口地址
* @return  返回json數(shù)據(jù)
 */function httpGetRequest($url){    $curl = curl_init(); // 啟動(dòng)一個(gè)CURL會(huì)話    curl_setopt($curl, CURLOPT_URL, $url);    curl_setopt($curl, CURLOPT_HEADER, 0);    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查    $output = curl_exec($curl);     //返回api的json對(duì)象    //關(guān)閉URL請(qǐng)求    curl_close($curl);    return $output;    //返回json對(duì)象}

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!

轉(zhuǎn)載請(qǐng)注明: 帝國(guó)CMS整合騰訊防水墻驗(yàn)證碼

標(biāo)簽:  
相關(guān)文章
模板推薦