当前位置:Gxlcms > PHP教程 > php验证码怎么做?

php验证码怎么做?

时间:2021-07-01 10:21:17 帮助过:11人阅读

php验证码制作是对php基本功的考核,php验证码制作必需开启gd库,因为要用到gd库里面的不少函数

PVVZM{8)@3Q2NHMVA]V5195.png

推荐学习PHP开发验证码教程

1.创建验证码底图

  1. <?php
  2. $image = imagecreatetruecolor(100,30);
  3. $bgcolor = imagecolorallocate($image,000,255,255);//#FFFFFFFFFFFF
  4. imagefill($image,0,0,$bgcolor);
  5. header('content-type: image/png');
  6. imagepng($image);
  7. //销毁
  8. imagedestroy($image);
  9. ?>

课程链接:http://www.gxlcms.com/code/3872.html

2.实现数字验证码

  1. <?php
  2. $image = imagecreatetruecolor(100,30);
  3. $bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF
  4. imagefill($image,0,0,$bgcolor);
  5. for ($i=0;$i<4;$i++){
  6. $fontsize = 6;
  7. $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
  8. $fontcontent = rand(0,9);
  9. $x = ($i * 100/4)+rand(5,10);
  10. $y = rand(5,10);
  11. imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
  12. }
  13. header('content-type: image/png');
  14. imagepng($image);
  15. //销毁
  16. imagedestroy($image);
  17. ?>

课程链接:http://www.gxlcms.com/code/3874.html

3.增加干扰元素

  1. <?php
  2. $image = imagecreatetruecolor(100,30);
  3. $bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF
  4. imagefill($image,0,0,$bgcolor);
  5. for ($i=0;$i<4;$i++){
  6. $fontsize = 6;
  7. $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
  8. $fontcontent = rand(0,9);
  9. $x = ($i * 100/4)+rand(5,10);
  10. $y = rand(5,10);
  11. imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
  12. }
  13. for($i=0;$i<200;$i++){
  14. $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
  15. imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);
  16. }
  17. header('content-type: image/png');
  18. imagepng($image);
  19. //销毁
  20. imagedestroy($image);
  21. ?>

课程链接:http://www.gxlcms.com/code/3875.html

4.字母和数字混合验证码

  1. <?php
  2. $image = imagecreatetruecolor(100,30);
  3. $bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF
  4. imagefill($image,0,0,$bgcolor);
  5. for ($i=0;$i<4;$i++){
  6. $fontsize = 6;
  7. $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
  8. $data='abcdefghijklmnopqrstuvwxyz1234567890';
  9. $fontcontent=substr($data,rand(0,strlen($data)),1);
  10. $x = ($i * 100/4)+rand(5,10);
  11. $y = rand(5,10);
  12. imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
  13. }
  14. for($i=0;$i<200;$i++){
  15. $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
  16. imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);
  17. }
  18. for($i=0;$i<8;$i++){
  19. $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220));
  20. imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
  21. }
  22. header('content-type: image/png');
  23. imagepng($image);
  24. //销毁
  25. imagedestroy($image);
  26. ?>

课程链接:http://www.gxlcms.com/code/3878.html

5.使用session存储验证信息

  1. <?php
  2. session_start();
  3. $image = imagecreatetruecolor(100,30);
  4. $bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF
  5. imagefill($image,0,0,$bgcolor);
  6. $captch_code="";
  7. for ($i=0;$i<4;$i++){
  8. $fontsize = 6;
  9. $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
  10. $data='abcdefghijklmnopqrstuvwxyz1234567890';
  11. $fontcontent=substr($data,rand(0,strlen($data)),1);
  12. $captch_code.="$fontcontent";
  13. $x = ($i * 100/4)+rand(5,10);
  14. $y = rand(5,10);
  15. imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
  16. }
  17. $_SESSION['code']=$captch_code;
  18. for($i=0;$i<200;$i++){
  19. $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
  20. imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);
  21. }
  22. for($i=0;$i<8;$i++){
  23. $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220));
  24. imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
  25. }
  26. header('content-type: image/png');
  27. imagepng($image);
  28. //销毁
  29. imagedestroy($image);
  30. ?>

课程链接:http://www.gxlcms.com/code/3879.html

6.验证码的使用

  1. <?php
  2. session_start();
  3. $image = imagecreatetruecolor(100,30);
  4. $bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF
  5. imagefill($image,0,0,$bgcolor);
  6. $captch_code="";
  7. for ($i=0;$i<4;$i++){
  8. $fontsize = 6;
  9. $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
  10. $data='abcdefghijklmnopqrstuvwxyz1234567890';
  11. $fontcontent=substr($data,rand(0,strlen($data)),1);
  12. $captch_code.="$fontcontent";
  13. $x = ($i * 100/4)+rand(5,10);
  14. $y = rand(5,10);
  15. imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
  16. }
  17. $_SESSION['code']=$captch_code;
  18. for($i=0;$i<200;$i++){
  19. $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
  20. imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);
  21. }
  22. for($i=0;$i<5;$i++){
  23. $linecolor = imagecolorallocate($image,rand(60,220),rand(60,220),rand(60,220));
  24. imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
  25. }
  26. header('content-type: image/png');
  27. imagepng($image);
  28. //销毁
  29. imagedestroy($image);
  30. ?>

课程链接:http://www.gxlcms.com/code/4832.html

以上就是php验证码怎么做?的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行