비교적 안정적인 PHP 로그인 시스템 인증 코드

WBOY
풀어 주다: 2016-07-25 09:07:13
원래의
885명이 탐색했습니다.
  1. session_start();
  2. $type = 'gif';
  3. $width= 56;
  4. $height= 22;
  5. header("Content-type: image/".$type);
  6. srand((double)microtime()*1000000);
  7. $randval = randStr(4,"NUMBER");
  8. if($type!='gif' && function_exists('imagecreatetruecolor')){
  9. $im = @imagecreatetruecolor($width,$height);
  10. }else{
  11. $im = @imagecreate($width,$height);
  12. }
  13. $r = Array(225,211,255,223);
  14. $g = Array(225,236,237,215);
  15. $b = Array(225,236,166,125);
  16. $key = rand(0,3);
  17. $backColor = ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);//背景色(随机)
  18. $borderColor = ImageColorAllocate($im, 0, 0, 0);//边框色
  19. $pointColor = ImageColorAllocate($im, 255, 170, 255);//点颜色
  20. @imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor);//背景位置
  21. @imagerectangle($im, 0, 0, $width-1, $height-1, $borderColor); //边框位置
  22. $stringColor = ImageColorAllocate($im, 255,51,153);
  23. for($i=0;$i<=100;$i ){
  24. $pointX = rand(2,$width-2);
  25. $pointY = rand(2,$height-2);
  26. @imagesetpixel($im, $pointX, $pointY, $pointColor);
  27. }
  28. @imagestring($im, 16, 10, 2, $randval, $stringColor);
  29. $ImageFun='Image'.$type;
  30. $ImageFun($im);
  31. @ImageDestroy($im);
  32. $_SESSION['validatecode'] = $randval;
  33. //产生随机字符串
  34. function randStr($len=6,$format='ALL') {
  35. switch($format) {
  36. case 'ALL':
  37. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; break;
  38. case 'CHAR':
  39. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; break;
  40. case 'NUMBER':
  41. $chars='0123456789'; break;
  42. default :
  43. $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  44. break;
  45. }
  46. $string="";
  47. while(strlen($string)<$len)
  48. $string.=substr($chars,(mt_rand()%strlen($chars)),1);
  49. return $string;
  50. }
  51. ?>
复制代码



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿