搜索热词

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。

经测试代码如下:

/**

* 安全验证码

*

* @param

* @author 编程之家 jb51.cc jb51.cc

**/

public function captcha(){

$font_dir = $_SERVER ["DOCUMENT_ROOT"] . "your_ttf_file.ttf"; // 字体库

$img_w = 58; // 设置图片宽

$img_h = 20; // 设置图片高

$font_size = 11; // 字体大小

$angle_l = -10; // 左偏角

$angle_r = 10; // 右偏角

$code_str = "ABCDEFGHJKLMNPQRSTUVWXYZ36";

$word_len = 4; // 验证码位数

$padding = 5; // 每两个文字之间间隔

$margin = 2; // 左侧边距

$base_line = 15; // 文字基线位置

$base_line_offset = 2; // 基准线偏移量

$pixel_num = 3; // 杂点数目基数

$pixel_color= 8; // 杂点只有 $pixel_color 种颜色 总的杂点数为$pixel_num*$pixel_color

$noise_font_size = 1; // 杂点字体大小

$session_key= "my_captcha"; //自定义session键名

header("Cache-Control: no-cache,must-revalidate");

header("Expires: Mon,26 Jul 1997 05:00:00 GMT");

header("Pragma: no-cache");

header("Cache-control: private");

header('Content-Type: image/png');

session_start();

$word = "";

$code_str_len = strlen($code_str) - 1;

for ($i = 0; $i < $word_len; $i++) {

$word.= $code_str[rand(0,$code_str_len)];

}

$_SESSION [$session_key] = strtolower($word);

$image = imagecreatetruecolor($img_w,$img_h);

imagefilledrectangle($image,$img_w - 1,$img_h - 1,imagecolorallocate($image,mt_rand(235,255),255)));

//绘制杂点

for($i = 0; $i < $pixel_color; $i++){

$noise_color = imagecolorallocate( $image,mt_rand(150,225),225) );

for($j = 0; $j < $pixel_num; $j++) {

imagestring( $image,$noise_font_size,mt_rand(-10,$img_w),$img_h),$code_str[mt_rand(0,$code_str_len)],$noise_color );

}

}

//绘制文字

for ($i = 0; $i < $word_len; ++$i) {

$color = imagecolorallocate($image,mt_rand(0,100),mt_rand(20,120),mt_rand(50,150));

imagettftext($image,$font_size,mt_rand($angle_l,$angle_r),$margin,mt_rand($base_line-$base_line_offset,$base_line+$base_line_offset),$color,$font_dir,mb_substr($word,$i,1,'utf-8'));

$margin += (imagefontwidth($font_size) + $padding);

}

imagepng($image);

imagedestroy($image);

exit;

}

/*** 来自编程之家 jb51.cc(jb51.cc) ***/

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

php验证安全码,PHP 高自定义性安全验证码的简单示例相关推荐

  1. 高德地图提示md5安全码未通过验证for android

    经检查sha1与包名均没问题,查了好久都没发现而难题,最后用sha1安全码检查工具,检查了一下应用的安全码,这才发现是自己的应用的sha1和自己电脑的sha1不一样,太坑了,和我遇到同样问题的可以下载 ...

  2. 微软账号被锁定,无法发送安全码

    微软账号被锁定,无法发送安全码 在进入微软账号的过程中,出现账号被锁定的提示,需要向手机发送安全码才可以解锁,但在发送代码时,出现下述问题,导致无法解锁. 解决办法 通过给微软官方发邮件,官方给出了解 ...

  3. iMeta期刊12名编委入选科睿唯安2021年度高被引学者

    iMeta期刊12名编委入选高被引学者 科睿唯安2021年度"高被引科学家"名单出炉,详见:https://recognition.webofscience.com/awards/ ...

  4. Android仿淘宝支付安全码

    最近项目中需要实现支付安全码 于是在网上看了有很多吧,后来自己整理了一下,效果如下 需要源码的直接加群@群主,然后出现一个咪咪眼的帅哥,那就是我啦!哈哈!是不是很骚!

  5. android手机如何接收google安全码

    今天换浏览器登陆firebase,登陆谷歌账号的时候,要求输入安全码,获取了两次,手机都没有任何反应.解决办法如下: 1.首先确认在手机已经安装谷歌框架,谷歌服务.然后打开了梯子. 2.此时在手机设置 ...

  6. uniApp获取高德高德地图api发布版安全码SHA1

    我在开发中使用到了高德地图api:基座测试时候可以正常使用,但是打包之后发现高德地图无法使用:所以为了解决uniApp打包后,高德地图无法使用的问题,我们需要发布版安全码SHA1来申请高德地图的key ...

  7. Google云端硬盘关联Colab时接收安全码问题

    Google Colab,全名Colaboratory,是由谷歌提供的免费的云平台,可以使用keras.tensorflow等框架进行深度学习. 安装Colab 第一步肯定是连接微屁恩啦! 然后搜索云 ...

  8. android studio密钥库口令,Android应用开发Android Studio签名打包及根据keystore密钥获取SHA1安全码...

    本文将带你了解Android应用开发Android Studio签名打包及根据keystore密钥获取SHA1安全码,希望本文对大家学Android有所帮助. " 一.签名打包两种方式 1. ...

  9. 烽火HG680-L_HG680-LV_hg680-lc_hg680-ly高安及非高安版本区分及刷机说明

    烽火HG680-L_HG680-LV_hg680-lc_hg680-ly高安及非高安版本区分及刷机说明 峰火hg680-L分高安和非高安版本: 河北的100%是高安,其他地区基本是非高安: 高安又分S ...

最新文章

  1. 设计模式学习 之 单例模式
  2. Android开发之根据Service的生命周期特点后台连接网络下载图片(源代码分享)
  3. json格式的字符串转为json对象遇到特殊字符问题解决
  4. [120_移动开发Android]005_android开发之数据存储之文件操作
  5. python和c语言的对比_类C语言与Python负数除法求值间的差异
  6. nginx报错:nginx: [alert] could not open error log file: open() “/var/log/nginx/error.log“ failed (2: N
  7. 使用webpack打包ES6代码
  8. gcc_教程中的命令
  9. 【译】ASP.NET MVC 5 教程 - 4:添加模型
  10. matlab中变量类型
  11. vnc远程桌面很慢_vnc远程桌面-桌面空白解决方案
  12. MATLAB的m文件
  13. 基于Python的发票识别与机器学习(保姆式教程)
  14. mysql查询条件格式_条件格式
  15. 希尔贝壳参展世界人工智能大会 | WAIC 2021
  16. EV录屏怎么把自己的摄像头放进去,摄像头好的,但是人像很花,看不清人脸
  17. GW1NSR-LV4CQN48GC6/I5 FPGA呼吸灯
  18. DBSCAN聚类分析在图像分割的应用
  19. win10如何配置maven仓库
  20. 计算机电源5VSB只有3V,研华工控机接上电源后5vsb那颗灯闪烁是怎么回事

热门文章

  1. MySQL事务的提交
  2. html的input的id,请求[“inputId”]不能在cshtml上工作
  3. python oracle数据库开发_python连接Oracle数据库
  4. 蓝桥杯java第四届决赛第二题--连续奇数和
  5. Hibernate中的核心接口query接口用法
  6. 03-JDBC学习手册:JDBC中几个重要接口和异常处理
  7. 编程实现将rdd转换为dataframe:源文件内容如下(_大数据 什么是RDD?可以干什么?为什么要有RDD?...
  8. Linux之vim的使用
  9. KVM 安装windows 虚拟机
  10. Redhat 打开防火墙某个端口