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中使用RESTful架构。

    随着互联网技术的发展,RESTful架构已经成为了一种主流的Web API设计风格。与传统的Web服务相比,RESTful架构更加灵活、可扩展、易于维护,因此越来越多的Web开发人员开始使用它来设计和开发前后端交互的API。本文…

    2023年5月22日
    08
  • 五种PHP实现定时任务的方法

    定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协…

    2022年6月27日
    0121
  • PHP开发中的最佳加密和哈希技术。

    在今天的数字时代中,随着互联网的发展和信息的日益重要,数据的保密性和安全性变得越来越重要。为了确保数据在传输过程中不被窃取或篡改,PHP开发人员通常使用加密和哈希技术来保护敏感数据。本文将介绍PHP开发中…

    2023年5月30日
    03
  • PHP商城开发中的集成与部署

    随着电商行业的快速发展,越来越多的企业开始关注自身在电商领域的布局与发展。而作为电商网站的核心技术之一,PHP商城开发的集成与部署也逐渐成为了企业关注的焦点。本文将从技术层面讲述PHP商城开发中的集成与部…

    2023年5月19日
    06
  • 关于PHP类型的转换

    自动转换: 通常自动转换是弱类语言的一个最基本也最方便的一个特征:它会在各种运算中根据运算符的需要也将非该运算符所能处理的数据转换为可以处理的数据。常见情形如下: if(数据){}:转为bool类型 算术运算符:…

    2018年3月17日
    0213
  • php如何使用FastRoute进行URL路由。

    在现代web开发中,路由是不可避免的一部分。路由作为网页和应用程序之间的桥梁,连接着HTTP请求和应用程序中具体的操作。路由的目的是将传入的URL请求映射到合适的处理程序,这样我们就可以根据URL请求来初始化页面…

    2023年6月3日
    02
  • 在PHP中实现微信公众号信息流广告监测

    随着微信公众号的普及和发展,越来越多的广告主选择在微信公众号上进行广告投放。然而,如何有效地监测广告效果成为了广告主的一大难题。本文将介绍如何在PHP中实现微信公众号信息流广告监测。1.了解微信公众号信息…

    2023年5月18日
    02
  • php生成微信红包数组教程

    源代码   代码图 效果图

    2018年3月29日
    0246

联系我们

QQ:951076433

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