discuz论坛经常有注册机在论坛批量发帖
recaptcha可以有效防止注册机自动注册,减少垃圾用户
discuz注册页面部署recaptcha只需要修改两个文件
1 修改模板文件 template\default\member\register.htm
在页面最后一个 div class="rfm" 上面添加recaptcha客户端代码
<script src='https://www.recaptcha.net/recaptcha/api.js' defer></script>
<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span></th>
<td>
<div class="g-recaptcha" data-sitekey="XXXjCHUUAAAAAMzCuvXXXGoekD3P0nGwTQ3MVXXX"></div>
</td>
<td class="tipcol"></td>
</tr>
</table>
</div>
2 修改注册页面调用代码 source\module\member\member_register.php
直接在 $ctl_obj = new register_ctl(); 上面添加
$secret = 'XXXjCHUUAAAAADPK1p_3R87YEGBkxmYKy4D8sXXX' ;
$pass = $_G['gp_password'] ? $_G['gp_password']:$_G['gp_'.$_G['setting']['reginput']['password']];
if( $pass && !empty($_POST['g-recaptcha-response']))
{
$verifyResponse = file_get_contents('https://www.recaptcha.net/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
if (!$responseData->success) {
showmessage('验证码输入不正确!' );
}
} elseif($pass && !$_POST["recaptcha_response_field"]) {
showmessage('请输入验证码!');
}

此处评论已关闭