PHP图像处理技术应用-验证码的使用

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、注册、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试

 封装验证码类
(1)封装一个验证码类,先实现能够随机生成不同颜色的背景
PHP图像处理技术应用-验证码的使用
PHP图像处理技术应用-验证码的使用
(2)在生成的图片上面随机的产生文字(字母、数字)
<由于随机生成字符的代码肯定会很多,所以我们将生成字符的代码封装到函数中 PHP图像处理技术应用-验证码的使用
(3)把随机生成的字符写入到画布中
使用imagettftext()写入,因为可以指定字体文件
<如何实现让每个字符所在的位置不一样,倾斜的角度也不一样? 思路:遍历这4个字符,指定每一个字符的位置、倾斜的角度

//开始绘制验证码
    public function makeImage()
    {
        //1. 创建画布,背景颜色应该是随机产生的,尽量背景颜色浅一点
        $image = imagecreatetruecolor($this->width, $this->height);
        //2. 分配颜色       
        $color = imagecolorallocate($image, mt_rand(100,255), 
mt_rand(100,255), mt_rand(100,255));
        imagefill($image, 0, 0, $color);
       
        //3. 开始绘制文字
        $code = $this->makeCode();
        for($i=0;$ifont_size, mt_rand(-30,30), 
($this->width/$this->number)*$i+5, 20, mt_rand(0,100), 
$this->font_file, $code[$i]); 
        }       
        //绘制100个干扰像素点
        for($i=0;$i<100;$i++){
            imagesetpixel($image, mt_rand(0,$this->width), 
mt_rand(0,$this->height), 
mt_rand(0,100));
        }
       
        //练习:绘制10条干扰线条
       
        //3. 输出到浏览器
        header("Content-Type:image/png");
        imagepng($image);
        //4. 销毁图像资源
        imagedestroy($image);
    }

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/9910.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2018年9月3日 10:00
下一篇 2018年9月7日 00:00

相关推荐

  • PHP与数据库性能分析的集成。

    PHP作为一种开源的服务器端脚本语言,广泛应用于Web开发领域。为了提高服务器端应用程序的性能,开发人员需要针对系统进行性能分析,找出瓶颈所在并加以优化。在众多性能分析工具中,数据库性能分析工具是至关重要…

    2023年5月21日
    00
  • 聊聊html怎么嵌套php。

    要在HTML中嵌入PHP代码,你需要确保你的服务器支持PHP,并且文件的扩展名是.php,在HTML文件中嵌入PHP代码非常简单,只需在HTML标签之间使用<?php和?>标签包围PHP代码即可,以下是一个简单的示例: (图片来…

    2024年6月21日
    00
  • 详解PHP sprintf()格式化用法

    php sprintf函数是一个非常强大的函数,本篇文章特别记录一下php中的sprintf函数格式化字符串的相关用法。定义和用法sprintf() 函数把格式化的字符串写入一个变量中。 语法 sprintf(format,arg1,arg2,arg++) 参数 …

    2022年6月27日
    0176
  • php如何实现简单的插入操作。

    作为一门广受欢迎的编程语言,在 Web 开发中,PHP 被广泛应用的其中一个应用就是实现数据库操作。而插入操作是数据库操作中最基本也是最常见的操作之一。在 PHP 中,要实现插入操作并不难,只需要按照以下几个步骤…

    2023年6月3日
    01
  • 使用PHP操作Elasticsearch数据库。

    随着大数据时代的到来,很多企业开始选择使用Elasticsearch数据库来存放和索引海量数据。而PHP是一个广泛使用的Web开发语言,因此,了解如何使用PHP操作Elasticsearch数据库将会大有裨益。 安装Elasticsearch和PHP…

    2023年5月21日
    07
  • 实现基于PHP的强大Web应用。

    作为一种流行的后端编程语言,PHP已经被广泛地应用于各类Web应用的开发中。其优点在于其开放性、易用性和强大的生态系统,使得PHP成为了许多开发者的首选。 但是,要想实现一款强大的Web应用,仅凭PHP作为编程语言…

    2023年5月30日
    00
  • PHP入门指南:数据库优化。

    随着互联网的快速发展,数据库成为了许多企业应用系统的核心组件之一。而PHP作为流行的Web编程语言,对数据库的操作也是尤为频繁。数据库优化是提高应用系统性能的重要手段之一,本文将从PHP应用的角度出发,为大家…

    2023年5月22日
    01
  • php如何使用PHP的POSIX扩展。

    PHP的POSIX扩展是一组允许PHP与POSIX兼容操作系统进行交互的函数和常量。POSIX(Portable Operating System Interface)是一组操作系统接口标准,旨在允许软件开发人员编写可在各种UNIX或UNIX类操作系统上运行的应…

    2023年6月3日
    05

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息