1.在composer.json ->"autoload": {
"classmap": [ 引入 "vendor/geetest"
geetest文件夹中放置下边的类文件
.
2.在cmd命令行中进入项目根目录,然后输入命令 composer dump-autoload(进入项目 输入 composer 找到 dump-autoload)
3.然后获取极验验证的Id 和key 在 config的app.php配置
//行为验证码配置
'GEE_ID' => '8e2********3ab66',
'GEE_KEY' => '0355********4d2',
html代码
<div id="embed-captcha" style="text-align:center">正在加载验证码......</div>
引入js文件和jQuery文件
<script src="/home/js/jQuery.1.8.2.min.js"></script>
<script src="/home/js/gt.js"></script>
<script>
var handlerEmbed = function (captchaObj) {
// 将验证码加到id为captcha的元素里,同时会有三个input的值:geetest_challenge, geetest_validate, geetest_seccode
captchaObj.appendTo("#embed-captcha");
captchaObj.onReady(function () {
$("#embed-captcha").empty();
});
};
function geetest(){
$.ajax({
// 获取id,challenge,success(是否启用failback)
url: "{{url('test/geetest')}}" + "/"+Math.random(), // 加随机数防止缓存
type: "get",
dataType: "json",
success: function (data) {
//console.log(data);
// 使用initGeetest接口
// 参数1:配置参数
// 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
initGeetest({
gt: data.gt,
challenge: data.challenge,
new_captcha: data.new_captcha,
width:'260px',
product: "embed", // 产品形式,包括:float,embed,popup。注意只对PC版验证码有效
offline: !data.success // 表示用户后台检测极验服务器是否宕机,一般不需要关注
}, handlerEmbed);
}
})
}
geetest();
php代码
//生成极验验证码
public function geetest($id){
//实例化并传入极验id与key值
$GtSdk = new \GeetestLib(config('app.GEE_ID'), config('app.GEE_KEY'));
$user_id = "web";
$status = $GtSdk->pre_process($user_id);
$data = array(
'gtserver'=>$status,
'user_id'=>$user_id
);
session(['geetest'=>$data]);
echo $GtSdk->get_response_str();
}