Emlog接入极验系统代码教程
一、注册与准备
- 注册账号:首先,访问极验官网注册账号,添加验证网站,获得一个ID和KEY。
- 下载SDK:进入github项目地址,找到
class.geetestlib.php
文件。在<?php
下一行添加:define("CAPTCHA_ID", "你的ID"); define("PRIVATE_KEY", "你的KEY");
然后上传到网站目录的
/include/lib
中。
二、配置PHP文件
- 新建
gtapi.php
文件:<?php require_once "/include/lib/class.geetestlib.php"; $GtSdk = new GeetestLib(CAPTCHA_ID, PRIVATE_KEY); session_start(); $user_id = "test"; $status = $GtSdk $_SESSION['gtserver'] = $status; $_SESSION['user_id'] = $user_id; echo $GtSdk->get_response_str();
然后上传到
/include/lib
中。
三、编辑控制器文件
-
编辑
comment_controller.php
文件:<?php session_start(); $isper=false; $pid = isset($_POST['pid']) ? intval($_POST['pid']) : 0; doAction('comment_post'); require_once '/include/liblib.php'; $GtSdkLib(CAPTCHA_ID, PRIVATE_KEY); $user_id = $_SESSION['user_id']; if ($_SESSION['gtserver'] == 1) { //服务器正常 $result = $GtSdk->success_validate($_POST['geetest_challenge'], $_POST['geetest_validate'], $_POST['geetest_seccode'], $user_id); if ($result) { $isper=true; } } else { //服务器宕机,走failback模式 if ($GtSdk->fail_validate($_POST['geetest_challenge'], $_POST['geetest_validate'], $_POST['geetest_seccode'])) { $isper=true; } } if ($Comment_Model->isLogCanComment($blogId) === false) { emMsg('评论失败:该文章已关闭评论'); } elseif (!$isper) { emMsg('评论失败:请正确滑动滑块验证码'); }
注意引用文件的地址。
四、修改模板文件
- 修改模板文件:
在模板文件目录(/content/templates/
)下的module.php
中找到评论表单,在评论内容框下面添加:<div id="embed-captcha"></div>
然后找到
footer.php
,在</body>
前面添加:<script src="http://static.geetest.com/static/tools/gt.js"></script> <script> var handlerEmbed = function (captchaObj) { $("#submit").click(function (e) { var validate = captchaObj.getValidate(); if (!validate) { $("#notice")[0].className = "hide"; setTimeout(function () { $("#notice").className = "hide"; }, 20); e.preventDefault(); } }); captchaObj.appendTo("#embed-captcha"); captchaObj.onReady(function () { }); }; $.ajax({ url: "/include/lib/gtapi.php?type=pc&t=" + (new Date()).getTime(), type: "get", dataType: "json", success: function (data) { initGeetest({ gt: data.gt, challenge: data.challenge, product: "float", offline: !data.success }, handlerEmbed); } }); </script>
五、完成与测试
完成上述步骤后,刷新页面,极验滑块验证码应已成功接入Emlog系统。此时,用户在进行评论时需要完成滑块验证才能提交评论。
通过以上步骤,你可以在Emlog系统中成功接入极验滑块验证码,提升网站的安全性。
请登录后发表评论
注册
社交账号登录
停留在世界边缘,与之惜别