zoukankan      html  css  js  c++  java
  • PHP验证码类

    https://packagist.org/packages/gregwar/captcha

    在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据。今天给大家介绍一款超实用超漂亮的PHP验证码库:Captcha。

    安装

    composer require gregwar/captcha
    

    使用

    Code:
    	1. <?php
    	2. use GregwarCaptchaCaptchaBuilder;
    	3. $builder = new CaptchaBuilder;
    	4. $builder->build();
    

    也可以把验证码保存为图片:

    Code:
    	1. <?php
    	2. $builder->save('out.jpg');
    

    或者直接输出为图片路径:

    Code:
    	1. <?php
    	2. header('Content-type: image/jpeg');
    	3. $builder->output();
    

    也可以结合HTML直接输出图片:

    Code:
    	1. <img src="<?php echo $builder->inline(); ?>" />
    

    我们可以使用PHP的session()来记录验证码并用于比对用户输入的验证码是否有效

    Code:
    	1. <?php
    	2. $_SESSION['phrase'] = $builder->getPhrase();
    

    上述代码在生成验证码的时候就把验证码保存在session中,当用户提交输入的验证码后,再从session中取出来进行比对,具体处理代码请查看DEMO和下载DEMO中的源码。
    生成的验证码默认是5个字符,那如果你想生成4个字符的验证码,可以这样:

    Code:
    	1. <?php
    	2. use GregwarCaptchaCaptchaBuilder;
    	3. use GregwarCaptchaPhraseBuilder;
    	4. $phraseBuilder = new PhraseBuilder(4);
    	5. $builder = new CaptchaBuilder(null, $phraseBuilder);
    	6. $builder->build();
    	7. header('Content-type: image/jpeg');
    	8. $builder->output();
    

    如果你想生成的验证码只有数字

    Code:
    	1. <?php
    	2. $phraseBuilder = new PhraseBuilder(4, '0123456789');
    

    常用方法与选项

    build($width = 150, $height = 40, $font = null):设置生成的验证码的宽度、高度以及字体。默认情况下,将随机使用库中的字体。
    save($filename, $quality = 80):生成一张指定文件名和图片质量的jpg验证码图片。
    get($quality = 80):获取jpg图片data数据。
    output($quality = 80):向浏览器输出图片。
    setBackgroundColor($r, $g, $b):设置验证码背景色,这个选项一般不推荐使用。
    getPhrase():获取验证码内容。
    captcha项目地址:https://github.com/Gregwar/Captcha.

  • 相关阅读:
    周末给女友讲了遍加密算法,没想到...
    gradle执行打包并导出Apk到指定文件夹
    功能算法
    位运算之异或运算
    禁止ViewPager滑动
    macOS 去掉系统软件更新红点提示
    【转】Kotlin的inline内联函数
    Android Gradle Plugin v3.6.0/3.6.1 构建Bug
    IntelliJ IDEA UML插件
    【LeetCode 1. Two Sum】
  • 原文地址:https://www.cnblogs.com/qinsilandiao/p/10871582.html
Copyright © 2011-2022 走看看