返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中如何增加验证码
  • 898
分享到

php中如何增加验证码

2023-06-15 04:06:38 898人浏览 薄情痞子
摘要

这篇文章主要介绍PHP中如何增加验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php增加验证码的实现方法:首先新建一个captcha.php;然后创建静态页的代码;最后创建一个判断的“fORM.php”代码即可

这篇文章主要介绍PHP中如何增加验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

php增加验证码的实现方法:首先新建一个captcha.php;然后创建静态页的代码;最后创建一个判断的“fORM.php”代码即可。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php怎么增加验证码?

现在来说说简单的纯数字验证码吧。

如果是初学者,建议按照我代码的注释 //数字 一步步来。最简单的方法,还是把整个代码复制走了。

新建一个captcha.php:

<?php  //11>设置session,必须处于脚本最顶部  session_start();             //7>生成随机数字  for($i=0;$i<4;$i++){    //设置字体大小    $fontsize = 6;        //设置字体颜色,随机颜色    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深颜色    //设置数字    $fontcontent = rand(0,9);    //10>.=连续定义变量    $captcha_code .= $fontcontent;      //设置坐标    $x = ($i*100/4)+rand(5,10);    $y = rand(5,10);     imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);  }  //10>存到session  $_SESSION['authcode'] = $captcha_code;  //8>增加干扰元素,设置雪花点  for($i=0;$i<200;$i++){    //设置点的颜色,50-200颜色比数字浅,不干扰阅读    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));        //imagesetpixel — 画一个单一像素    imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);  }  //9>增加干扰元素,设置横线  for($i=0;$i<4;$i++){    //设置线的颜色    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));    //设置线,两点一线    imageline($image,rand(1,99), rand(1,29),rand(1,99), rand(1,29),$linecolor);  }   //2>设置头部,image/png  header('Content-Type: image/png');  //3>imagepng() 建立png图形函数  imagepng($image);  //4>imagedestroy() 结束图形函数 销毁$image  imagedestroy($image);

接着就是静态页的代码了:index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><form method="post" action="./form.php">  <p>验证码: <img id="captcha_img" border='1' src='./captcha.php?r=echo rand(); ?>' style="width:100px; height:30px" />    <a href="javascript:void(0)" onclick="document.getElementById('captcha_img').src='./captcha.php?r='+Math.random()">换一个?</a>  </p>  <P>请输入验证码:<input type="text" name='authcode' value=''/></p>  <p><input type='submit' value='提交' style='padding:6px 5px;'/></p></form></body></html>

从index.html可以看到,提交的表单是到form.php的,所以还要有一个判断的form.php代码:

<?php  header("Content-Type:text/html;charset=utf-8");      //设置头部信息  //isset()检测变量是否设置  if(isset($_REQUEST['authcode'])){    session_start();    //strtolower()小写函数    if(strtolower($_REQUEST['authcode'])== $_SESSION['authcode']){      //跳转页面      echo "<script language=\"javascript\">";      echo "document.location=\"./form.php\"";      echo "</script>";    }else{      //提示以及跳转页面      echo "<script language=\"javascript\">";      echo "alert('输入错误!');";      echo "document.location=\"./form.php\"";      echo "</script>";    }    exit();  }

显示页面如下:

php中如何增加验证码

数字加英文的验证码,只需更改captcha.php页面中的 7》即可,其他两个页面不需要动,代码如下:

<?php  //11>设置session,必须处于脚本最顶部  session_start();  $image = imagecreatetruecolor(100, 30);    //1>设置验证码图片大小的函数  //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);  $bGColor = imagecolorallocate($image,255,255,255); //#ffffff  //6>区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色  imagefill($image, 0, 0, $bgcolor);  //10>设置变量  $captcha_code = "";//7>生成随机的字母和数字  for($i=0;$i<4;$i++){    //设置字体大小    $fontsize = 8;        //设置字体颜色,随机颜色    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深颜色    //设置需要随机取的值,去掉容易出错的值如0和o    $data ='abcdefghigkmnpqrstuvwxy3456789';    //取出值,字符串截取方法  strlen获取字符串长度    $fontcontent = substr($data, rand(0,strlen($data)),1);    //10>.=连续定义变量    $captcha_code .= $fontcontent;        //设置坐标    $x = ($i*100/4)+rand(5,10);    $y = rand(5,10);    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);  }  //10>存到session  $_SESSION['authcode'] = $captcha_code;  //8>增加干扰元素,设置雪花点  for($i=0;$i<200;$i++){    //设置点的颜色,50-200颜色比数字浅,不干扰阅读    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));        //imagesetpixel — 画一个单一像素    imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);  }  //9>增加干扰元素,设置横线  for($i=0;$i<4;$i++){    //设置线的颜色    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));    //设置线,两点一线    imageline($image,rand(1,99), rand(1,29),rand(1,99), rand(1,29),$linecolor);  }   //2>设置头部,image/png  header('Content-Type: image/png');  //3>imagepng() 建立png图形函数  imagepng($image);  //4>imagedestroy() 结束图形函数 销毁$image  imagedestroy($image);

显示页面如下:

php中如何增加验证码

生成汉字类验证码,在运行过程中,提示乱码错误,无法显示,未能解决,代码如下:

php  //11>设置session,必须处于脚本最顶部  session_start();   //1>设置验证码图片大小的函数  $image = imagecreatetruecolor(200, 60);      //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);  $bgcolor = imagecolorallocate($image,255,255,255); //#ffffff  //6>区域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的区域着色,col 表示欲涂上的颜色  imagefill($image, 0, 0, $bgcolor);  //7>设置ttf字体  $fontface = 'FZYTK.TTF';  //7>设置字库,实现简单的数字储备  $str='天地不仁以万物为刍狗圣人不仁以百姓为刍狗这句经常出现在控诉暴君暴政上地残暴不仁把万物都当成低贱的猪狗来看待而那些高高在上的所谓圣人们也没两样还不是把我们老百姓也当成猪狗不如的东西但实在正取的解读是地不情感用事对万物一视同仁圣人不情感用事对百姓一视同仁执子之手与子偕老当男女主人公含情脉脉看着对方说了句执子之手与子偕老女方泪眼朦胧含羞地回一句讨厌啦这样的情节我们是不是见过很多但是我们来看看这句的原句死生契阔与子成说执子之手与子偕老于嗟阔兮不我活兮于嗟洵兮不我信兮意思是说战士之间的约定说要一起死现在和我约定的人都走了我怎么活啊赤裸裸的兄弟江湖战友友谊啊形容好基友的基情比男女之间的爱情要合适很多吧';  //str_split()切割字符串为一个数组,一个中文在utf_8为3个字符  $strdb = str_split($str,3);    //>11  $captcha_code = '';  //8>生成随机的汉子  for($i=0;$i<4;$i++){    //设置字体颜色,随机颜色    $fontcolor = imagecolorallocate($image, rand(0,120),rand(0,120), rand(0,120));      //0-120深颜色    //随机选取中文    $in = rand(0,count($strdb));    $cn = $strdb[$in];    //将中文记录到将保存到session的字符串中    $captcha_code .= $cn;        imagettftext($image, mt_rand(20,24),mt_rand(-60,60),(40*$i+20),mt_rand(30,35),$fontcolor,$fontface,$cn);  }  //11>存到session  $_SESSION['authcode'] = $captcha_code;  //9>增加干扰元素,设置点  for($i=0;$i<200;$i++){    //设置点的颜色,50-200颜色比数字浅,不干扰阅读    $pointcolor = imagecolorallocate($image,rand(50,200), rand(50,200), rand(50,200));        //imagesetpixel — 画一个单一像素    imagesetpixel($image, rand(1,199), rand(1,59), $pointcolor);  }  //10>增加干扰元素,设置线  for($i=0;$i<4;$i++){    //设置线的颜色    $linecolor = imagecolorallocate($image,rand(80,220), rand(80,220),rand(80,220));    //设置线,两点一线    imageline($image,rand(1,199), rand(1,59),rand(1,199), rand(1,59),$linecolor);  }   //2>设置头部,image/png  header('Content-Type: image/png');  //3>imagepng() 建立png图形函数  imagepng($image);  //4>imagedestroy() 结束图形函数 销毁$image  imagedestroy($image);

PHP开发环境搭建工具有哪些

一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampServer也同样的也是和phpStudy一样操作简单对小白比较友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包;四、MAMP,MAMP分为两种MAMP和MAMP Pro for Mac。五、宝塔面板,宝塔面板是一款服务器管理软件,支持windows和linux系统。六、UPUPW,UPUPW是目前Windows平台下最具特色的WEB服务器PHP套件。

以上是“php中如何增加验证码”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: php中如何增加验证码

本文链接: https://lsjlt.com/news/277478.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php中如何增加验证码
    这篇文章主要介绍php中如何增加验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php增加验证码的实现方法:首先新建一个captcha.php;然后创建静态页的代码;最后创建一个判断的“form.php”代码即可...
    99+
    2023-06-15
  • 如何在网站中添加验证码验证
    要在网站中添加验证码验证,可以按照以下步骤进行操作: 在HTML表单中添加验证码输入框。在表单中添加一个输入框,用于让用户输入验证码。 生成随机验证码并保存到会话中。在服务器端生成一个随机的验证码,并将其保存到会话中,以便稍后进行验证。...
    99+
    2023-09-02
    php
  • 如何在PHP中实现验证码
    随着互联网的不断发展,越来越多的网站需要使用验证码来保证安全性。验证码是一种借助人类能力而无法被计算机破解的认证技术,广泛应用于网站注册、登录、找回密码等功能中。下面将介绍如何使用PHP实现验证码功能。一、生成验证码图片验证码图片的生成是验...
    99+
    2023-05-20
    验证码 PHP 实现
  • 如何给SW中的评论加验证码 给SW中的评论加验证码的方法
    问题:在SiteWeaver版中,如何给评论加验证码呢? 解决方法: 一、修改模板。 1、在<head>中加入 复制代码代码如下:<script language=javascript> func...
    99+
    2022-06-12
    动易SW评论
  • php后台验证码加密方法如何实现
    这篇文章主要介绍“php后台验证码加密方法如何实现”,在日常操作中,相信很多人在php后台验证码加密方法如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php后台验证码加密方法如何实现”的疑惑有所帮助!...
    99+
    2023-07-05
  • ThinkPHP添加谷歌验证码验证
    composer安装所需插件 composer install phpgangsta/googleauthenticator:dev-master 生成谷歌key和二维码链接 //用户名,这里可以随意填写,保证唯一就行$username =...
    99+
    2023-09-02
    github php
  • PHP 8 新特性:增加了验证和签名
    PHP 8 是PHP的最新版本,为程序员带来了更多的便利和功能。这个版本特别关注安全性和性能,其中一个值得注意的新特性是增加了验证和签名功能。在本文中,我们将深入了解这些新的功能及其用...
    99+
    2024-04-02
  • nginx如何添加账号密码验证
    小编给大家分享一下nginx如何添加账号密码验证,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!nginx添加账号密码验证server {     location...
    99+
    2023-06-17
  • php如何实现验证码登录
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。验证码在我们的日常生活中非常常见,使用验证码有诸多好处,如:防止恶意的破解密码。如一些黑客为了获取到用户信息,通过不同的手段向服务器发送数据,验证猜测用户信息...
    99+
    2017-10-10
    php 验证码
  • php如何实现获取验证码
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。在日常生活中我们会经常使用到验证码功能,那么如果我们要自己实现一个验证码功能该如何去做呢?下面我们给出具体的实现代码,供大家参考!如果你是一名初学者,那么我强...
    99+
    2021-08-11
    php 验证码
  • php如何发送短信验证码
    这篇文章主要介绍了php如何发送短信验证码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何发送短信验证码文章都会有所收获,下面我们一起来看看吧。发送方法:1、实名认证并开通短信API接口服务,获取API...
    99+
    2023-07-04
  • php如何设置随机验证码
    这篇文章主要介绍“php如何设置随机验证码”,在日常操作中,相信很多人在php如何设置随机验证码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何设置随机验证码”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-05
  • php如何实现验证码刷新
    这篇“php如何实现验证码刷新”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现验证码刷新”文章吧。一、什么是验证...
    99+
    2023-07-06
  • 如何在Discuz中完全取消验证码验证?
    在Discuz中取消验证码验证,实际上是通过修改程序代码来实现的。用户可以通过以下步骤来完成这个过程: 第一步:备份文件 在开始修改代码之前,务必备份相关文件,以便在出现问题时可以恢复...
    99+
    2024-03-10
    取消验证码验证 验证码取消操作
  • php中如何处理验证码错误问题
    近年来,随着互联网的广泛应用,各种网站和应用也越来越多。而为了防止机器恶意注册、登录等行为,验证码的使用也越来越普遍。在PHP编程中,实现验证码功能是相对简单的,但如何处理验证码显示错误的问题,却不是所有开发者都能够处理好的。那么,当用户输...
    99+
    2023-05-14
  • JAVA中如何验证图片验证码是否正确
    知识补充:toString() 方法用于返回以一个字符串表示的 Number 对象值。equalsIgnoreCase() 方法用于将字符串与指定的对象比较,不考虑大小写。验证方法:首先需要先获取用户输入的验证码对象,然后先判断验证码是否为...
    99+
    2016-02-24
    java 验证 图片验证码
  • php不用验证码如何防止ddos
    php不用验证码防止ddos的示例:在相关的php文件中,添加防止ddos攻击代码:...
    99+
    2024-04-02
  • Vue中如何添加手机验证码组件功能
    这篇文章主要介绍Vue中如何添加手机验证码组件功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是组件:组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的...
    99+
    2024-04-02
  • 如何使用php函数来优化验证码发送和验证?
    随着互联网的发展,验证码的使用已经成为了保护用户信息安全的重要手段之一。在网站的注册、登录、找回密码等功能中,验证码的发送和验证是必不可少的一环。本文将介绍如何使用PHP函数来优化验证码的发送和验证,以提高用户体验和安全性。生成验证码首先,...
    99+
    2023-10-21
    验证码 优化 PHP函数
  • 【python 验证码】产生中文验证码
    #-*-coding:utf-8-*- import sys reload(sys) sys.setdefaultencoding('utf-8') from PIL import ImageDraw,ImageFont fro...
    99+
    2023-01-31
    验证码 中文 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作