聯(lián)系官方銷售客服
1835022288
028-61286886
修改config/hooks.php
//注冊(cè)成功之前 \Phpcmf\Hooks::on('member_register_before', function ($post) { $cname = 'xzyz'; // 對(duì)應(yīng)極驗(yàn)別名 xzyz 替換別名 $captcha_id = dr_geetest($cname, 2); if (!$post['captcha_id']) { //(這里不要修改提示文字,這個(gè)有和前端交互)** \Phpcmf\Service::C()->_json(0, dr_lang('請(qǐng)完成驗(yàn)證')); } elseif ($post['captcha_id'] != $captcha_id) { \Phpcmf\Service::C()->_json(0, dr_lang('后端極驗(yàn)id于前端極驗(yàn)id不同,請(qǐng)檢查別名')); } });
前端代碼,于二次驗(yàn)證的代碼相同
<script src="https://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>//引用jq <script src="https://static.geetest.com/v4/gt4.js"></script>//引用極驗(yàn)驗(yàn)證碼官方j(luò)s <script src="{THEME_PATH}assets/js/my.js"></script>//引用自定義js(這里修改了登錄注冊(cè)的js代碼用于交互) <div id="captcha"></div> <script> var result;//聲明一個(gè)變量用于存儲(chǔ)驗(yàn)證成功字段 var gtInstance;// 聲明一個(gè)變量用于存儲(chǔ) gt 對(duì)象 var product ="bind"; // 聲明一個(gè)變量用于存儲(chǔ) 極驗(yàn)代碼類型,popup(彈出式)float(浮動(dòng)式)bind(隱藏按鈕類型) var captchaId="{dr_geetest('xzyz', 2)}"; // 聲明一個(gè)變量用于存儲(chǔ) 極驗(yàn)ID,xzyz 為后臺(tái)別名 // 帶* 號(hào) 為不可缺少的內(nèi)容 initGeetest4({ captchaId: captchaId, //*對(duì)應(yīng)的極驗(yàn)ID*根據(jù)別名獲取 product: product, //* 極驗(yàn)代碼類型,可自行更改 language: "zho", //*驗(yàn)證碼語(yǔ)言 zho 指的是中文 //如果使用popup 或者float 有一個(gè)額外按鈕,如需更改樣式請(qǐng)查看官方文檔 在此地方增加參數(shù)https://docs.geetest.com/gt4/apirefer/api/web }, function (gt) { gtInstance = gt;//將 gt 對(duì)象賦值給 gtInstance 變量 gt.appendTo("#captcha");//自動(dòng)加載到id captcha //onSuccess:驗(yàn)證成功后執(zhí)行 gt.onSuccess(function () { result = gt.getValidate();//驗(yàn)證成功獲取的驗(yàn)證字段賦值給result //這里因?yàn)椴煌诘卿浀呐袛嘁?guī)則(先驗(yàn)證密碼,在驗(yàn)證驗(yàn)證碼,最后驗(yàn)證郵箱和手機(jī)號(hào)格式),bind popup float 均不需要注釋下面的代碼 dr_ajax_member('{dr_member_url('register/index', ['groupid'=>$groupid])}', 'myform',result,gtInstance,product); //登錄的驗(yàn)證js做了二次修改, //dr_ajax_member('url登錄地址','表單id',result變量,gtInstance變量,product變量); }) }); </script> <div class="form-actions" style="margin-top:30px"> <label class="col-md-2 control-label"></label> <div class="col-md-9" style="padding-left:5px;"> <label> <button onclick="dr_ajax_member('{dr_member_url('register/index', ['groupid'=>$groupid])}', 'myform',result,gtInstance,product);" type="button" class="btn red" > 立即注冊(cè)</button> </label> <label class="mt-checkbox mt-checkbox-outline" style="margin-left:20px;"> <input type="checkbox" name="is_protocol" value="1" checked> 我已閱讀并同意 <span></span> </label> <label> <a href="javascript:dr_show_protocol();">《用戶注冊(cè)協(xié)議》</a> </label> </div> </div>