>  기사  >  백엔드 개발  >  PHP 구현을 무작위로 방해하는 확인 코드 생성

PHP 구현을 무작위로 방해하는 확인 코드 생성

WBOY
WBOY원래의
2016-07-25 08:46:03980검색
  1. session_start ();
  2. header ( 'Content-type: image/png' );
  3. //创建图片
  4. $im = imagecreate($x=130,$y=45 );
  5. $bg = imagecolorallocate($im,rand(50,200),rand(0,155),rand(0,155)); //第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色
  6. $fontColor = imageColorAllocate ( $im, 255, 255, 255 ); //字体颜色
  7. $fontstyle = 'rock.ttf'; //字体样式,这个可以从c:windowsFonts文件夹下找到,我把它放到和authcode.php文件同一个目录,这里可以替换其他的字体样式
  8. //产生随机字符
  9. for($i = 0; $i < 4; $i ) {
  10. $randAsciiNumArray = array (rand(48,57),rand(65,90));
  11. $randAsciiNum = $randAsciiNumArray [rand ( 0, 1 )];
  12. $randStr = chr ( $randAsciiNum );
  13. imagettftext($im,30,rand(0,20)-rand(0,25),5 $i*30,rand(30,35),$fontColor,$fontstyle,$randStr);
  14. $authcode .= $randStr;
  15. }
  16. $_SESSION['authcode'] = $randFourStr;//用户和用户输入的验证码做比较
  17. //干扰线
  18. for ($i=0;$i<8;$i ){
  19. $lineColor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
  20. imageline ($im,rand(0,$x),0,rand(0,$x),$y,$lineColor);
  21. }
  22. //干扰点
  23. for ($i=0;$i<250;$i ){
  24. imagesetpixel($im,rand(0,$x),rand(0,$y),$fontColor);
  25. }
  26. imagepng($im);
  27. imagedestroy($im);
  28. ?>
复制代码

인증코드, php


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