StartCaptchaServlet.php 909 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. /**
  3. * 使用Get的方式返回:challenge和capthca_id 此方式以实现前后端完全分离的开发模式 专门实现failback
  4. * @author Tanxu
  5. */
  6. error_reporting(0);
  7. require_once dirname(dirname(__FILE__)) . '/lib/class.geetestlib.php';
  8. $GtSdk = new GeetestLib();
  9. session_start();
  10. $return = $GtSdk->register();
  11. if ($return) {
  12. $_SESSION['gtserver'] = 1;
  13. $result = array(
  14. 'success' => 1,
  15. 'gt' => CAPTCHA_ID,
  16. 'challenge' => $GtSdk->challenge
  17. );
  18. echo json_encode($result);
  19. }else{
  20. $_SESSION['gtserver'] = 0;
  21. $rnd1 = md5(rand(0,100));
  22. $rnd2 = md5(rand(0,100));
  23. $challenge = $rnd1 . substr($rnd2,0,2);
  24. $result = array(
  25. 'success' => 0,
  26. 'gt' => CAPTCHA_ID,
  27. 'challenge' => $challenge
  28. );
  29. $_SESSION['challenge'] = $result['challenge'];
  30. echo json_encode($result);
  31. }
  32. ?>