PHP 无组件生成BMP验证码源程序

【k8s实战】 在离线项目混部 通过kubeflow(tf-operator)部署TensorFlow机器学习任务+prometheus/grafana监控资源使用全过程(最新 图文) 目录在离线混合部署概念最新版kubeflow部署TensorFlow部署二级目录三级目录 在离线混合部署概念 先举一个例子,众所周知的天猫双十一当天的流量非常之大,那么就需要成百上千台服务器构成一个超大集群来提供计算能力,但是双十一过去之后,集群资源就面临着浪费的局面。假设业务分为在线和离线两种模式:在线任务需要资源相对较少,但要求响应时间短;离线任务则不需要对任务进行迅速响应,但是计算量相对较大、占用资源多。那么我们应该怎么在K8S集群上完成这两种业务的部署、并且使得CPU利用率始终维持在一个比较高的水平 阅读详情

<?php
//This is a PHP 无组件生成BMP验证码源程序,改自ASP无组件BMP验证码生成程序
//  Author: Wilson Chen
//  QQ: 36935338
//  Email: oeichenwei@yahoo.com

//  通过程序内嵌的"0-9A-Z"的BMP字型库生成真彩色BMP(当然也非常的小)
//  为了尽可能的避免被crack,建议动态改变背景色,下载后适当变换字形库。
//  为了便于处理,验证码的位数必须为偶数位,比如4、6、8....
//  使用的时候把该文件保存为test.php, 引用<img src="test.php" alt="my picture">即可
//  Original Author: Layen
//       QQ: 84815733
//       E-mail: support@ssaw.net
function validation($pSN)
{
     // 禁止缓存
     header("Expires: -9999");
     header("Pragma: no-cache");
     header("cache-ctrol: no-cache");
//     header("ContentType: Image/BMP");
     header("ContentType: Image/BMP");

     $cOdds = 8; //杂点出现的机率
     $cAmount = 36;//文字数量
     $cCode = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

     // 颜色的数据(字符,背景)
     $vColorData[0] = "/x0/x0/x0"; //蓝0,绿0,红0(黑色)
     $vColorData[1] = "/xfa/xec/xd3"; //蓝250,绿236,红211(浅蓝色)
     $num = strlen($pSN);

     //随机产生字符
     for($i = 0; $i < $num; $i++)
     {
    $vCode[$i] = strpos($cCode, $pSN{$i});
     }

     // 字符的数据
     $vNumberData[0] = "1110000111110111101111011110111101001011110100101111010010111101001011110111101111011110111110000111";
     $vNumberData[1] = "1111011111110001111111110111111111011111111101111111110111111111011111111101111111110111111100000111";
     $vNumberData[2] = "1110000111110111101111011110111111111011111111011111111011111111011111111011111111011110111100000011";
     $vNumberData[3] = "1110000111110111101111011110111111110111111100111111111101111111111011110111101111011110111110000111";
     $vNumberData[4] = "1111101111111110111111110011111110101111110110111111011011111100000011111110111111111011111111000011";
     $vNumberData[5] = "1100000011110111111111011111111101000111110011101111111110111111111011110111101111011110111110000111";
     $vNumberData[6] = "1111000111111011101111011111111101111111110100011111001110111101111011110111101111011110111110000111";
     $vNumberData[7] = "1100000011110111011111011101111111101111111110111111110111111111011111111101111111110111111111011111";
     $vNumberData[8] = "1110000111110111101111011110111101111011111000011111101101111101111011110111101111011110111110000111";
     $vNumberData[9] = "1110001111110111011111011110111101111011110111001111100010111111111011111111101111011101111110001111";
     $vNumberData[10] = "1111011111111101111111101011111110101111111010111111101011111100000111110111011111011101111000100011";
     $vNumberData[11] = "1000000111110111101111011110111101110111110000111111011101111101111011110111101111011110111000000111";
     $vNumberData[12] = "1110000011110111101110111110111011111111101111111110111111111011111111101111101111011101111110001111";
     $vNumberData[13] = "1000001111110111011111011110111101111011110111101111011110111101111011110111101111011101111000001111";
     $vNumberData[14] = "1000000111110111101111011011111101101111110000111111011011111101101111110111111111011110111000000111";
     $vNumberData[15] = "1000000111110111101111011011111101101111110000111111011011111101101111110111111111011111111000111111";
     $vNumberData[16] = "1110000111110111011110111101111011111111101111111110111111111011100011101111011111011101111110001111";
     $vNumberData[17] = "1000100011110111011111011101111101110111110000011111011101111101110111110111011111011101111000100011";
     $vNumberData[18] = "1100000111111101111111110111111111011111111101111111110111111111011111111101111111110111111100000111";
     $vNumberData[19] = "1110000011111110111111111011111111101111111110111111111011111111101111111110111110111011111000011111";
     $vNumberData[20] = "1000100011110111011111011011111101011111110001111111010111111101101111110110111111011101111000100011";
     $vNumberData[21] = "1000111111110111111111011111111101111111110111111111011111111101111111110111111111011110111000000011";
     $vNumberData[22] = "1000100011110010011111001001111100100111110101011111010101111101010111110101011111010101111001010011";
     $vNumberData[23] = "1000100011110011011111001101111101010111110101011111010101111101100111110110011111011001111000110111";
     $vNumberData[24] = "1110001111110111011110111110111011111011101111101110111110111011111011101111101111011101111110001111";
     $vNumberData[25] = "1000000111110111101111011110111101111011110000011111011111111101111111110111111111011111111000111111";
     $vNumberData[26] = "1110001111110111011110111110111011111011101111101110111110111011111011101001101111011001111110001011";
     $vNumberData[27] = "1000001111110111011111011101111101110111110000111111010111111101101111110110111111011101111000110011";
     $vNumberData[28] = "1110000011110111101111011110111101111111111001111111111001111111111011110111101111011110111100000111";
     $vNumberData[29] = "1000000011101101101111110111111111011111111101111111110111111111011111111101111111110111111110001111";
     $vNumberData[30] = "1000100011110111011111011101111101110111110111011111011101111101110111110111011111011101111110001111";
     $vNumberData[31] = "1000100011110111011111011101111101110111111010111111101011111110101111111010111111110111111111011111";
     $vNumberData[32] = "1001010011110101011111010101111101010111110101011111001001111110101111111010111111101011111110101111";
     $vNumberData[33] = "1000100011110111011111101011111110101111111101111111110111111110101111111010111111011101111000100011";
     $vNumberData[34] = "1000100011110111011111011101111110101111111010111111110111111111011111111101111111110111111110001111";
     $vNumberData[35] = "1100000011110111011111111101111111101111111110111111110111111111011111111011111111101110111100000011";

     // 输出图像文件头
     $nFileSize = 54 + $num*300;
     print("/x42/x4d".chr(($nFileSize & 0xff)).chr($nFileSize >> 8));
     print("/x0/x0/x0/x0/x0/x0/x36/x0/x0/x0/x28/x0/x0/x0".chr($num*10)."/x0/x0/x0/xa/x0/x0/x0/x1/x0");

     //输出图像信息头
     print("/x18/x0/x0/x0/x0/x0/xb0/x4/x0/x0/x12/xb/x0/x0/x12/xb/x0/x0/x0/x0/x0/x0/x0/x0/x0/x0");

     for($i = 9; $i >= 0; $i--) // 历经所有行
     {
           for($ii = 0; $ii < $num; $ii++)  //历经所有字
           {
                 // 逐行、逐字、逐像素地输出图像数据
                 for($iii = 0; $iii < 10; $iii++) //历经所有像素
                 {
                     if(rand(0, 100) < $cOdds)
                     {
                       //随机生成杂点
                       print($vColorData[0]);
                     }
                     else
                     { 
                       print($vColorData[$vNumberData[$vCode[$ii]]{$i * 10 + $iii}]);
                     }
                 }
           }
     }
}
validation("123HEM");
?>

一.镜头知识之焦点,焦距,有效焦距,前焦距,后焦距 由光学系统中镜片的最后一面到像面的距离。 阅读详情

相关推荐

CIC-IDS数据集特征介绍

###1、简介 通信安全机构(CSE)与加拿大网络安全研究所(CIC)合作项目,该项目对自1998年以来现有的11个数据集的评估表明,大多数数据集(比如经典的KDDCUP99,NSLKDD等)已经过时且不可靠。其中一些数据集缺乏流量多样性和容量,一些数据集没有涵盖各种已知的攻击,而另一些数据集将数据包有效载荷数据匿名化,这不能反映当前的趋势。有些还缺少特征集和元数据。 CIC-IDS-2017数据集包含良性和最新的常见攻击,类似真实世界数据(PCAPs)。 它的数据采集截至2017...

蓝亚之舟的博客 3万+

php生成bmp图像,PHP仿GD生成BMP图片

function imagebmp(&$im, $filename = '', $bit = 8, $compression = 0){if (!in_array($bit, array(1, 4, 8, 16, 24, 32))){$bit = 8;}else if ($bit == 32) // todo:32 bit{$bit = 24;}$bits = pow(2, $bit);/...

weixin_39531178的博客 216

扫码器USB键盘报告描述符数据格式解析

Byte0用于判断Shift是否按下,当按下时Byte0的Bit1会置1,即0x02,若未按下,Bit为0,即0x00。0x00 0x00 0x00 0x00 0x00 0x00 0x00--->>未按下Shift。0x00 0x00 0x00 0x00 0x00 0x00 0x00--->>按下Shift。0x00 0x04 0x00 0x00 0x00 0x00 0x00--->>输出A。0x00 0x04 0x00 0x00 0x00 0x00 0x00--->>输出a。

m0_65548585的博客 1141

php 数字bmp,PHP识别24位BMP的验证码

PHP识别24位BMP的验证码今天接到个活,就是识别一个简单的验证码,这个验证码异常的简单,具有很少的干扰信息,所以只要拿到信息进行比较.很容易就可以识别,但是一切不会那么一帆风顺的..也许是对于我来说吧.我觉得我干什么都十分曲折...这个验证码图片是用ASP生成的..理所当然成了BMP格式.但是对于PHP来说.这是个软伤.因为PHP的GD库根本就没把BMP纳入在内.虽然有wbmp但是还是不一样的...

weixin_35928736的博客 173

Visual Studio 2022与Qt集成实战:解决Qt.props导入错误的完整指南

本文详细解析了在Visual Studio 2022中集成Qt开发时,如何解决因Qt.props文件导入失败导致的编译错误。文章从问题根源入手,深入剖析了Qt.props文件与QtMsBuild环境变量的关系,并提供了从检查文件存在性、配置环境变量到直接修改项目文件路径的完整排查与修复方案,帮助开发者快速恢复项目构建。

wdx01234567的博客 675

用Python玩转ROS机械臂:YOLO目标检测+MoveIt!自动抓取仿真教程

本文详细介绍了如何利用Python集成YOLO目标检测与ROS的MoveIt!运动规划库,实现机械臂的智能抓取仿真。通过Gazebo仿真环境,从视觉感知、坐标转换到运动规划与执行,构建了一套完整的自动化抓取系统,为机器人视觉抓取应用提供了可复现的实践方案。

ppp33的博客 552

PHP生成图片验证码和验证码验证

绘制验证码的过程可分为: 创建一个指定大小的画板 给这画板填充一个背景色 开始画你想要的图形 PHP图形处理依赖GD库在开始前 执行打印当前安装的 GD 库的信息 <?php var_dump(gd_info()); ?> 显示的大致与下面差不多,那么我们就可以继续了 array(13) { ["GD Version"]=>string(26) "bundled...

qq_31508839的博客 1600

13.0 针对跳转不存在Activity崩溃处理,改成弹Toast提示,去掉崩溃弹窗,避免app崩溃退出

在开发过程中,在app跳转到某个没注册的Acitivity时,往往会出现崩溃的场景,这样也不好,接下来就从framework中来拦截这个崩溃,改成toast提示,

安卓兼职framework和app工程师的博客 48

php 数字bmp,PHP 识别24位BMP的验证码

这个验证码图片是用ASP生成的..理所当然成了BMP格式.但是对于PHP来说.这是个软伤.因为PHP的GD库根本就没把BMP纳入在内.虽然有wbmp但是还是不一样的.所以就google了一下.结果又让我一阵喜悦.竟然有个现成的识别256色BMP的类..十分激动..有这个还不是白拿钱的事啊!!结果又是令人失望的..256色的BMP跟24位色的根本是两个概念..这就意味这我得重新写了..看来没有现成的...

weixin_30824361的博客 146

阿里云百炼全解析:一站式大模型开发平台的架构与行业实践

摘要: 阿里云百炼平台通过一站式架构革新大模型开发范式,将传统碎片化工具链整合为统一工作流,实现开发周期从月级到小时级的跃迁。其核心架构包含接入层、引擎层与资源层,关键技术突破包括MCP服务协议、多模态引擎及高性能训练优化。平台提供全生命周期开发支持,从数据准备到模型部署,并通过VPC隔离、数据加密构建企业级安全体系。已在医疗、电力等行业实现显著增效,如阿斯利康药物分析系统准确率提升至95%。未来将向多Agent协同、边缘计算等方向演进,推动AI技术深度融入产业核心。

fudaihb的博客 1988

R语言 百度坐标转换至WGS84坐标

本文利用R语言封装了百度坐标转换至WGS84坐标的函数,亲测有效,提供了便捷的百度坐标转换方法。

qingchen98的博客 2135

PHP识别24位BMP的验证码

今天接到个活.就是识别一个简单的验证码.这个验证码异常的简单.具有很少的干扰信息.所以只要拿到信息进行比较.很容易就可以识别.但是一切不会那么一帆风顺的..也许是对于我来说吧.我觉得我干什么都十分曲折...这个验证码图片是用ASP生成的..理所当然成了BMP格式.但是对于PHP来说.这是个软伤.因为PHP的GD库根本就没把BMP纳入在内.虽然有wbmp但是还是不一样的.所以就g

binger819623的专栏 835

Unity零基础到入门 ☀️| 基础知识入门篇章,看完就可以做游戏啦! | 寻找C站宝藏

Unity入门基础知识。本篇文章介绍了关于Unity入门的一些基础知识,包括基本概念和使用实例。简单易上手,轻松实现Unity入门操作!

努力前行,总会成为自己心中的那道光 1万+

BMP格式验证码图片的破解。

前几天饭总在采集某网站数据时候被它的验证码拦住了,在范总自己折腾了一个晚上未果后问我有没做过类似事情。之前自己也很少去研究验证码东西,都是找一个顶着用就是,从来没去搞过破解什么的。Google一番,原来BMP图像直接可以读取,一个像素是对应着一个数据的。因此思路出来了。BMP图像的来源及介绍看这里,而用C同学想研究它的数据存储结构的看这里。BMP图像包括这几类数据:文件头、位图信息头、颜色信息和位图数据四部分组成。既然位图数据即图形数据能读取出来,那么任何一张验证码图片里面的某一个Code也就能读出了,因为

Larro's PHP 2677

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PHP验证码程序:session生成图片

正 文:    昨天捣鼓了一下PHP验证码并生成图片程序,采用了session识别,稍微改进了一下目前网络上流传的PHP验证码,加入杂点,数字颜色随机显示,控制4位数字显示;话不多说了,程序如下,分享出来。     效果图如下:     新建yz.php验证码生成文件:     注意:以下代码需要打开php的GD库,修改php.in文件的配置,把已经注释掉的行之前的分号取消即可

Briver Song的专栏 896

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

php自定义生成图片验证码,php源码之生成图片验证码的实例

实现验证码的基础GDI+graphics device interface plus的缩写,即图形设备接口。GDI+为开发者提供了一组实现与各种设备(具有图形化能力但不涉及图形细节的设备)进行交互的库函数。C#通过Bitmap类创建位图对象、Grephics类创建画板对象,再通过Pen类、Brush类、Color类等画位图:Point结构在二维平面中 定义点坐标的有序对。常用于定义 窗体或控件...

weixin_35735685的博客 183

php验证码有图片没数字,php验证码图片不显示

php 动态验证码,PHP如何开发短信验证码功能?,php验证码代码,php验证码图片不显示欢迎登录清源教育官网 www.tsingyuan.cn 查看更多视频教程 php 验证码linux下只显示画布,不显示验证码的终极解决方法 经测试通过,首先放出我的代码 [php] ...

weixin_42416119的博客 1024

说说PHP之验证码识别

本文介绍了PHP实现验证码识别的基本流程。首先通过获取验证码图片的RGB信息并进行灰度处理,将图像二值化(0和1矩阵);然后通过降噪算法去除干扰点,分割出单个字符;接着对倾斜字符进行线性回归分析并调整角度;最后通过特征提取(如逐像素法)与数据库对比完成识别。整个过程模拟了人眼识别机制,从颜色区分到字符定位,体现了图像处理和模式识别的基本原理。虽然识别率受验证码复杂度影响,但该方法为自动化识别提供了可行思路。

oqqHeng12345678911的专栏 1184

php验证码类库,PHP常用操作类实现——验证码类

概述谢谢大家的收藏与赞,这是对我最大的鼓励。这一系列文章主要是一些PHP常用的类操作,回顾一下面向对象,我一直致力于小白文章的撰写,因为我也是小白,相信有人需要,希望读者能够喜欢。说明关于PHP语言实现各种操作类,网上都能够找得到,但是质量参差不齐,有的代码不好懂,有时候看的眼花缭乱,所以我在这里统一作了一个整理(注意:是整理,每一种操作类,我至少会参考三份优秀代码,然后自己跑出来,而不是CV)我...

weixin_39872044的博客 377

php密码控件,php 验证码控件

注意:以下代码需要打开php的GD库,修改php.in文件的配置,把已经注释掉的行之前的分号取消即可:extension=php_gd2.dll。session_start();//生成验证码图片Header("Content-type:image/PNG");$im=imagecreate(44,18);$back=ImageColorAllocate($im,245,245,245...

weixin_28785069的博客 126

php 提取验证码内容,使用php怎么在168_cms中提取验证码

使用php怎么在168_cms中提取验证码发布时间:2020-12-31 16:41:27来源:亿速云阅读:67作者:Leah这篇文章将为大家详细讲解有关使用php怎么在168_cms中提取验证码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。复制代码 代码如下:function yzImg($nmsg){if (function_exists('i...

weixin_28718641的博客 205

PHP验证码并生成图片

    昨天捣鼓了一下PHP验证码并生成图片程序,采用了session识别,稍微改进了一下目前网络上流传的PHP验证码,加入杂点,数字颜色随机显示,控制4位数字显示;话不多说了,程序如下,分享出来。      效果图如下:       新建yz.php验证码生成文件:      注意:以下代码需要打开php的GD库,修改php.in文

642

漫话验证码缘起,程序原理及其他

注:本文中很多资源来源于Internet,版权和本文作者无关,仅仅引用。 现在,网站上登录,发表评论。。。。。。。。是个输入框下都有请输入验证码,泡网的人啊,都输入过。如果你想了解验证码的作用,请先自己Google一下;如果你想制作自己的验证码程序,比如Asp(Asp.net)的,Php的,Jsp的。。。。。。。等等你也可以先Goolge一下。如果你想欣赏一下验证码长什么样的,那好,不用先Goog

一风一云的文档 2933

c php登录验证,PHP验证码登录实例学习

/*** 验证码程序* edit www.jbxue.com*/session_start();function random($length, $numeric = 0) {mt_srand((double)microtime() * 1000000);if($numeric) {$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $leng...

weixin_39728544的博客 112

php oop 面向对象手册,PHP面向对象(OOP)——验证码类

验证码是众多网站登陆、注册等相关功能不可以或缺的功能,实现展示验证码的方式有很多,这篇文章作者以工作中比较常用的方法进行了封装。逻辑准备要实现一个完整的验证码,需要包含以下属性和功能验证码类{属性:宽度高度干扰点验证码(私有的)验证码字符的个数验证码的类型(纯数字类型、纯字母类型、混合类型)图片类型(jpg、png、bmp……)图片资源功能:构造函数(用来初始化)生成验证码的函数创建画布填充背景色...

weixin_34669755的博客 200

简单验证码图片识别BMP

转自:http://www.wuaimate.cn/cms/index.php?option=com_content&view=article&id=22:bmp&catid=11:2011-04-08-11-19-15&Itemid=7 题目:validate codeKey Words:Script, bmp get_the_file今有一压缩包,其内图片...

weixin_34362991的博客 175

PHP验证码程序

PHP验证码程序:session生成图片 Author:Flymorn Source:飘易博客 Categories:PHP编程 PostTime:2008-4-28 11:38:37 正 文:        昨天捣鼓了一下PHP验证码并生成图片程序,采用了session识别,稍微改进了一下目前网络上流传的PHP验证码,加入杂点,数字颜色随机显示,控制4位数字显示;话不多说了,程序如下

北京联合大学优快云高校俱乐部 1072
上一篇: AJAX 另一种在html中include一个文件的方法
下一篇: C++ member function pointers and others
oeichenwei
博客等级 码龄23年 8粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值