今天看到了一个比较好的验证码,不用输入,只需要用户拖动鼠标就可以操作,感觉不错,特此学习
首先 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类 然后就可以显示啦。