PHP 极验验证码实例讲解

时间:2021-05-26

你能找到这篇文章,说明你对极验验证已经不是完全陌生的了,所有废话我就不多说了,直接开始表说如何使用它,不过在此之前呢,先粘贴几个你可能会用得到的网址:

官网:http:///install/sections/idx-client-sdk.html

3.服务器端部署(PHP)

在第一步中,我们设置了一个这样的地址“../web/StartCaptchaServlet.php”,在这个地址里边写什么呢:

<?php// 引入文件require_once dirname(dirname(__FILE__)) . '/lib/class.geetestlib.php';require_once dirname(dirname(__FILE__)) . '/config/config.php';// 实例化,实例化的参数在config中配置,分别是:验证ID 和 验证Key,如何获取下面会说。$GtSdk = new GeetestLib(CAPTCHA_ID, PRIVATE_KEY);session_start();// 这个是用户的标识,或者说是给极验服务器区分的标识,如果你项目没有预先设置,可以像下面这样设置:if(!isset($_SESSION['user_id'])){ $_SESSION['user_id']=uniqid();// 生成一个唯一ID}$user_id = $_SESSION['user_id'];// 或者,你就直接写成:// $user_id = "test"; // 生成验证码信息,并返回给客户端$status = $GtSdk->pre_process($user_id);$_SESSION['gtserver'] = $status;$_SESSION['user_id'] = $user_id;echo $GtSdk->get_response_str();?>  

如何获取 验证ID 和 验证Key :

1.从 验证后台 注册账号
2.添加验证,可以获取一组当前验证的ID/Key
3.将ID和Key分别替换到config.php文件中的captcha_id/private_key变量的值 

4.点击提交按钮之后的服务端校验(二次验证)

比如上面说的,用户登录时,你把用户名和密码和验证码信息都提交到服务器了,这个时候,你就可以做校验了:

<?php// 引入文件require_once dirname(dirname(__FILE__)) . '/lib/class.geetestlib.php';require_once dirname(dirname(__FILE__)) . '/config/config.php';session_start();$GtSdk = new GeetestLib(CAPTCHA_ID, PRIVATE_KEY); // 比如你设置了一个验证码是否验证通过的标识$code_flag=false; // 这里获取你之前设置的user_id,传送给极验服务器做校验$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) { // 验证码验证成功 $code_flag=true; }}else{ if ($GtSdk->fail_validate($_POST['geetest_challenge'],$_POST['geetest_validate'],$_POST['geetest_seccode'])) { // 验证码验证成功 $code_flag=true; }} // 如果验证码验证成功,再进行其他校验if($code_flag){ // 其他验证操作 // 用户名不对时,返回2,其他错误返回3,等等。。。。}else{ // 验证码验证失败,返回1,这里和上面相呼应,当然我的项目没有简单的返回1,而是返回了JSON数据 echo 1; exit(-1);}?>  

感谢你的阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章