今天看到了一个比较好的验证码,不用输入,只需要用户拖动鼠标就可以操作,感觉不错,特此学习
首先 html 加载js <script src="http://static.geetest.com/static/tools/gt.js"></script>
填写 验证码html <div id="captcha"></div>
运行js 启动事件
<script>
var handler = function (captchaObj) {
// 将验证码加到id为captcha的元素里
captchaObj.appendTo("#captcha");
};
// 获取验证码
$.get("{:U('Manage/Index/ geetest_show_verify ')}", function(data) {
// 使用initGeetest接口
// 参数1:配置参数,与创建Geetest实例时接受的参数一致
// 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
initGeetest({
gt: data.gt,
challenge: data.challenge,
product: "float", // 产品形式
offline: !data.success
}, handler);
},'json');
</script>
php geetest_show_verify
/**
* geetest生成验证码
*/
public function geetest_show_verify(){
$geetest_id='034b9cc862456adf05398821cefc94eb';//仅限测试使用
$geetest_key='b7f064b9ae813699de794303f0b0e76f';//仅限测试使用
$geetest=new \Org\Xb\Geetest($geetest_id,$geetest_key);
$user_id = "test";
$status = $geetest->pre_process($user_id);
$_SESSION['geetest']=array(
'gtserver'=>$status,
'user_id'=>$user_id
);
echo $geetest->get_response_str();
}
加载 Geetest类 然后就可以显示啦。