广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现数字验证码
  • 496
分享到

php怎么实现数字验证码

php 2014-09-23 16:09:22 496人浏览 猪猪侠
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么实现数字验证码?php实现数字验证码用php实现验证码,验证码是为了区别机器与人的操作,提高安全性。需要安装服务器软件,我使用的是wamp,之后编写php验证码

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

php怎么实现数字验证码?

php实现数字验证码

php实现验证码,验证码是为了区别机器与人的操作,提高安全性。需要安装服务器软件,我使用的是wamp,之后编写php验证码页面。

分为以下几个步骤来实现:

一、实现验证码底图
目标:通过php代码,生成一张100*30px大小的图片
方法:

resource imagecreatetruecolor(int $width,int $height)

注意事项:
(a)依赖GD扩展
(b)输出图片前,必须提前输出图片header信息
(c)该方法默认输出为黑色背景
//
二、实现数字验证码
方法:

int imagecolorallocate(resource $image,int $red,int $green,int $blue);
bool imagestring(resource $image,int $font,int $x,int $y,string $s,int $col);
注意事项:/控制好字体大小与分布,避免字体重叠或显示不全
//
三、增加干扰元素
目标:为验证码增加干扰元素,干扰的点或线
方法:

bool imagesetpixel(resource $image,int $x,int $y,int $color);
bool imageline(resource $image,int $x1,int $y1,int $x2,int $y2,int $color)

注意事项:干扰信息一定控制好颜色,避免“喧宾夺主”;

四、通过SESSioN存储验证信息
目标:在服务器端记录验证码信息,便于用户输入后做校验
方法:bool session_start(void)
注意事项:(a)session_start()必须处于脚本最顶部
(b)多服务器情况,需要考虑集中管理session信息

五、验证码通过表单提交、校验
目标:将已生成的验证码提供给用户,并校验用户验证码的正确性
方法:html<fORM>表单基础
validate.php

<?php
session_start();
$image=imagecreatetruecolor(100,30);
$bGColor=imagecolorallocate($image,255,255,255); //#fff
imagefill($image, 0, 0, $bgcolor);
$captch_code='';
//画出4个随机的数字或者字母
for($i=0;$i<4;$i++){
$fontsize=6;
//为了让数字的颜色不同,使用随机颜色rand(0,120),120之前是深色
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
$data='abcdefghijklmnopqrstuvwxyz123456789';//由于o和0对于一些人不太好区别,所以把0去掉了
$fontcontent=substr($data,rand(0,strlen($data)),1);
$captch_code.=$fontcontent;
$x=($i*100/4)+rand(5,10);
$y=rand(5,10);
//水平画一条字符串
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
$_SESSION['authcode']=$captch_code;
//增加点干扰元素
for($i=0;$i<200;$i++){
$pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
//画一个单一像素
imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);
}
//增加线干扰元素
for($i=0;$i<3;$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);
}
header('content-type:image/png');
imagepng($image);
imagedestroy($image);

form.php

<?php
if(isset($_REQUEST['authcode'])){
session_start();
if(strtolower($_REQUEST['authcode'])==$_SESSION['authcode']){
echo '<font color="#0000cc">输入正确</font>';
}else{
echo '<font color="#cc0000><b>输入错误</b></font>';
}
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>确认验证码</title>
</head>
<body>
    <form method="post" action='./form.php'>
        <div>验证码图片:
        <img id="code_img" border="1" src="./validate.php?r=<?php echo rand();?>" width="100" alt="">
        <a href="javascript:void(0)" οnclick="document.getElementById('code_img').src='./validate.php?r='+Math.random()">换一个?</a>
        </div>
        <div>请输入图片中的内容:<input type="text" name="authcode" value=""></div>
        <div><input type="submit" value="提交" style="padding:6px 20px;"></div>
    </form>
</body>
</html>

--结束END--

本文标题: php怎么实现数字验证码

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php怎么实现数字验证码
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么实现数字验证码?php实现数字验证码用php实现验证码,验证码是为了区别机器与人的操作,提高安全性。需要安装服务器软件,我使用的是wamp,之后编写php验证码...
    99+
    2014-09-23
    php
  • PHP怎么实现随机数字、字母的验证码功能
    本篇内容主要讲解“PHP怎么实现随机数字、字母的验证码功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现随机数字、字母的验证码功能”吧!废话不多说,直接上代码:1、classgd....
    99+
    2023-06-04
  • C++怎么实现验证数字
    本篇内容介绍了“C++怎么实现验证数字”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Valid Number 验证数字Validate if...
    99+
    2023-06-19
  • PHP中如何实现字母数字混合验证码
    这期内容当中小编将会给大家带来有关PHP中如何实现字母数字混合验证码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。验证码调用地址:Application\Home\Controller\CodeContr...
    99+
    2023-06-04
  • 怎么使用php实现验证码
    这篇文章主要介绍怎么使用php实现验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php实现验证码的方法:首先创建绘制验证码类,代码如“class Captcha {...}”;然后绘制图片页面;接着设置表单页面...
    99+
    2023-06-15
  • php怎么实现图片验证码
    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑。php怎么实现图片验证码?PHP实现图片验证码功能验证码: captcha, 是一种用于区别人和电脑的技术原理(Completely Automated Public ...
    99+
    2017-09-20
    php
  • C++怎么实现验证回文数字
    本篇内容介绍了“C++怎么实现验证回文数字”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Palindrome Number 验证回文数字De...
    99+
    2023-06-19
  • php怎么实现密码登录验证
    在PHP中,可以使用以下步骤来实现密码登录验证:1. 创建一个HTML表单,包含一个用户名输入框和一个密码输入框。用户输入用户名和密...
    99+
    2023-10-10
    php
  • PHP中怎么实现图形验证码
    这期内容当中小编将会给大家带来有关PHP中怎么实现图形验证码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体实现代码如下:<php  class rndnum{&nb...
    99+
    2023-06-17
  • JS怎么实现验证码
    这篇文章主要介绍JS怎么实现验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码:<!DOCTYPE html><html lang="en">...
    99+
    2023-06-27
  • php token验证怎么实现
    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑。php token验证怎么实现?php token使用与验证示例【测试可用】本文实例讲述了php token使用与验证。分享给大家供大家参考,具体如下:一、token功...
    99+
    2020-12-25
    php token
  • php中怎么实现一个验证码功能
    php中怎么实现一个验证码功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。新建一个captcha.php:php     /...
    99+
    2023-06-17
  • php怎么实现发送验证码的功能
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现发送验证码的功能PHP实现发送短信验证码:一、html代码<li> <span>手机号码:</span> <inp...
    99+
    2021-10-31
    php 验证码
  • SpringBoot+kaptcha怎么实现验证码
    本篇内容主要讲解“SpringBoot+kaptcha怎么实现验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot+kaptcha怎么实现验证码”吧!1. 基本用法kaptc...
    99+
    2023-06-30
  • jquery如何实现验证数字
    本篇内容主要讲解“jquery如何实现验证数字”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery如何实现验证数字”吧! 方法...
    99+
    2022-10-19
  • C++实现LeetCode(65.验证数字)
    [LeetCode] 65.Valid Number 验证数字 Validate if a given string can be interpreted as a dec...
    99+
    2022-11-12
  • springboot验证码生成及验证功能怎么实现
    这篇“springboot验证码生成及验证功能怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot验证...
    99+
    2023-07-06
  • vue实现web前端登录页数字验证码
    本文实例为大家分享了vue实现web前端登录页数字验证码的具体代码,供大家参考,具体内容如下 1.创建code.js文件夹下面是js代码 function GVerify(optio...
    99+
    2022-11-13
  • php怎么实现短信验证
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么实现短信验证?php实现手机短信验证码全过程在我们的工作生活中,使用各类网站、APP时,无论注册、支付,还是修改密码等情境下,都被要求获取短信验证码进行验证...
    99+
    2022-11-07
  • php后台验证码加密方法怎么实现
    在 web 开发中,验证码(CAPTCHA)是一种用于验证用户操作合法性的工具。例如,在提交表单时,服务器可以生成一张验证码图片,在用户正确输入验证码后再处理表单数据,这样可以防止机器自动提交表单,保护网站数据的安全性。在 PHP 后台开发...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作