>백엔드 개발 >PHP 튜토리얼 >PHP로 작성된 인증 코드

PHP로 작성된 인증 코드

WBOY
WBOY원래의
2016-07-25 09:07:131017검색
  1. session_start();
  2. $image = imagecreatetruecolor(58,22);
  3. $color_Background = imagecolorallocate($image,255,255,255);
  4. imagefill($image,0,0,$color_Background);
  5. $key = array(
  6. ‘0′,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,
  7. ‘a’,'b’,'c’,'d’,'e’,'f’,'g’,'h’,'i’,'j’,'k’,'l’,'m’,'n’,'o’,'p’,'q’,'r’,’s’,'t’,'u’,'v’,'w’,'x’,'y’,'z’,
  8. ‘A’,'B’,'C’,'D’,'E’,'F’,'G’,'H’,'I’,'J’,'K’,'L’,'M’,'N’,'O’,'P’,'Q’,'R’,'S’,'T’,'U’,'V’,'W’,'X’,'Y’,'Z’);
  9. $string = null;
  10. $char_X = 6;
  11. $char_Y = 0;
  12. for($i=0;$i<4;$i )
  13. {
  14. $char_Y = mt_rand(0,5);
  15. $char = $key[mt_rand(0,61)];
  16. $string .= $char;
  17. $color_Char = imagecolorallocate($image,mt_rand(0,230),mt_rand(0,230),mt_rand(0,230));
  18. imagechar($image,5,$char_X,$char_Y,$char,$color_Char);
  19. $char_X = $char_X mt_rand(8,15);
  20. }
  21. $line_X1 = 0;
  22. $line_Y1 = 0;
  23. $line_X2 = 0;
  24. $line_Y2 = 0;
  25. for($i=0;$i
  26. {
  27. $line_X1 = mt_rand(0,58);
  28. $line_Y1 = mt_rand(0,22);
  29. $line_X2 = mt_rand(0,58);
  30. $line_Y2 = mt_rand(0,22);
  31. $line_X1 = $line_X1;
  32. $line_Y1 = $line_Y1;
  33. $line_X2 = $line_X1 mt_rand(1,8);
  34. $line_Y2 = $line_Y1 mt_rand(1,8);
  35. $color_Line = imagecolorallocate($image,mt_rand(0,230),mt_rand(0,230),mt_rand(0,230));
  36. imageline($image,$line_X1,$line_Y1,$line_X2,$line_Y2,$color_Line);
  37. }
  38. $_SESSION['seccode'] = $string;
  39. @header(“Expires: -1″);
  40. @header(“Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0″, FALSE);
  41. @header(“Pragma: no-cache”);
  42. header(‘Content-Type: image/jpeg’);
  43. imagepng($image);
  44. imagedestroy($image);
  45. ?>
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.