1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- require 'class.geetestlib.php';
- $captchaID = 'b078b9f46c61ca047d20ffa056181e42';
- $privateKey = 'b44ac364c8fd172299403982bc91e7b6';
- $GtSdk = new GeetestLib($captchaID, $privateKey);
- $data = array(
- "user_id" => getRandomCheckCode(4), # 网站用户id
- "client_type" => $_SERVER['HTTP_USER_AGENT'], #web:电脑上的浏览器;h5:手机上的浏览器,包括移动应用内完全内置的web_view;native:通过原生SDK植入APP应用的方式
- "ip_address" => getip() # 请在此处传输用户请求验证时所携带的IP
- );
- $status = $GtSdk->pre_process($data, 1);
- echo $GtSdk->get_response_str();
- /**
- * 随机生成验证码
- */
- function getRandomCheckCode($length = 6, $chars = '0123456789') {
- $hash = '';
- $max = strlen($chars) - 1;
- for ($i = 0; $i < $length; $i++) {
- $hash .= $i === 0 ? $chars[mt_rand(1, $max)] : $chars[mt_rand(0, $max)];
- }
- return $hash;
- }
- function getip() {
- static $ip = '';
- $ip = $_SERVER['REMOTE_ADDR'];
- if(isset($_SERVER['HTTP_CDN_SRC_IP'])) {
- $ip = $_SERVER['HTTP_CDN_SRC_IP'];
- } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
- $ip = $_SERVER['HTTP_CLIENT_IP'];
- } elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
- foreach ($matches[0] AS $xip) {
- if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
- $ip = $xip;
- break;
- }
- }
- }
- return $ip;
- }
- ?>
|