captcha.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * User: lang
  4. * Date: 2023/8/25
  5. * Time: 10:15
  6. */
  7. // ini_set('display_errors', 1);
  8. // ini_set('display_startup_errors', 1);
  9. // error_reporting(E_ALL);
  10. require '../../vendor/autoload.php';
  11. use Kkokk\Poster\Facades\Captcha;
  12. try {
  13. $res = Captcha::extension('gd')->type('slider')
  14. ->get();
  15. } catch (\Exception $e) {
  16. echo($e->getMessage());
  17. }
  18. // var_dump($res);
  19. exit;
  20. $redis = new \Redis();
  21. $redis->connect('127.0.0.1');
  22. $redis->select(0);
  23. $redisAdapter = new \Kkokk\Poster\Cache\RedisCacheAdapter($redis);
  24. $key = isset($_GET['key']) ? $_GET['key'] : '';
  25. $code = isset($_GET['code']) ? $_GET['code'] : '';
  26. if ($key && $code) {
  27. $result = Captcha::extension('imagick')
  28. ->setCache($redisAdapter)
  29. ->type('input')
  30. ->check($key, $code);
  31. echo $result ? "验证成功" : "验证失败";
  32. exit;
  33. }
  34. $res = Captcha::extension('imagick')
  35. ->setCache($redisAdapter)
  36. ->type('input')
  37. ->config(['type' => 'math', 'font_size' => 40])
  38. ->get();
  39. $secret = '';
  40. if (!empty($res['secret'])) {
  41. $secret = $res['secret'];
  42. }
  43. echo $res['key'];
  44. echo $secret;
  45. echo "<img src='{$res['img']}' />";