`
xfcode
  • 浏览: 23359 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHP变色验证码实例

    博客分类:
  • php
 
阅读更多
PHP实现变色验证码。
代码:
<?php
/**
* php变色验证码
* edit: www.jbxue.com
*/
header("Content-type: image/png,charset='utf-8'"); 
$im = imagecreatetruecolor(400, 30); 
//白色 
$white = imagecolorallocate($im, 255, 255, 255); 
//红色 
$red = imagecolorallocate($im, 255, 0, 0); 
//黑色 
$black=imagecolorallocate($im, 0, 0, 0); 
//绿色 
$green=imagecolorallocate($im, 0, 255, 0); 
//蓝色 
$blue=imagecolorallocate($im, 0, 0, 255); 
$color_arr=array($green,$blue,$red); 
$color=array_rand($color_arr); 
$text = '我靠这验证码太变态啦'; 
$textlen=iconv_strlen($text,'utf-8');//计算字符串长度 
//随机截取两个字符,变色显示 
$p1=rand(1,$textlen)-1; 
while(($p2=rand(1,$textlen)-1)==$p1); 
$w1=iconv_substr($text,$p1,1,'utf-8'); 
$w2=iconv_substr($text,$p1,1,'utf-8'); 
//字体文件 (PS:T不错的php Q扣峮:276167802,验证:csl) 
$font = 'simkai.ttf'; 
imagefilledrectangle($im, 0, 0, 399, 29, $white); 
for($i=0;$i<$textlen;$i++) 
{ 
if($i==$p1||$i==$p2) 
{ 
imagettftext($im, 15, 0, 20*($i-1)+20, 20, $color_arr[$color], $font, iconv_substr($text,$i,1,'utf-8')); 
} 
else 
{ 
imagettftext($im, 15, 0, 20*($i-1)+20, 20, $black, $font, iconv_substr($text,$i,1,'utf-8')); 
} 
} 
imagepng($im); 
imagedestroy($im); 
?> 

验证码中的字符并不是同一种颜色,让用户输入指定颜色的验证码,这样安全性会更好的。
分享到:
评论

相关推荐

    PHP实现变色验证码实例

    本文将详细介绍如何使用PHP语言实现一个变色验证码,这是一种提高验证码识别难度,进而提高安全性的方式。 变色验证码的实现依赖于PHP的GD库,GD库是PHP中处理图像的一个扩展库,它允许你创建和处理图像。实现变色...

    java_变色闪现_算数验证码

    在Java中实现变色闪现的算数验证码涉及到多个技术领域,包括图像处理、动态效果生成以及随机数算法等。下面将详细探讨这些知识点。 首先,我们要了解算数验证码的基本原理。算数验证码通常由两个或四个数字组成,...

    StringGrid实例 单元格变色等

    本实例将深入探讨如何利用StringGrid实现单元格颜色的变化以及其他相关功能,帮助你更好地理解和掌握这个控件。 StringGrid是TStringGrid的简称,它是VCL(Visual Component Library)库中的一个组成部分,提供了...

    C# 焦点变色 实例源码(窗体技巧)

    总之,"C#焦点变色"实例源码旨在教授开发者如何在C#应用程序中提高用户交互体验,通过改变控件颜色以提示用户当前的焦点位置。无论是简单的事件响应还是复杂的样式和模板定制,都可以实现这一功能,为用户提供更加...

    MT4变色均线_变色均线_变色指标_mt4_外汇指标_mt4均线变色_

    变色均线作为MT4(MetaTrader 4)平台的一种自定义指标,它为交易者提供了更直观、更敏感的市场趋势识别方式。本文将深入探讨变色均线的概念、原理、应用及其在MT4平台上的设置与使用。 变色均线,顾名思义,是一种...

    java生成图片验证码实例代码

    Java生成图片验证码是一种常见的安全措施,用于防止自动化脚本或机器人进行恶意操作,例如批量注册、刷票等。...通过这个简单的实例,开发者可以进一步扩展和优化验证码生成器,以适应不同应用场景的需求。

    MT4编程实例:会变色的均线.doc

    标题与描述中提到的“MT4编程实例:会变色的均线”是一个具体的交易策略编程案例,主要聚焦于如何在MetaTrader 4 (MT4) 平台上创建一种特殊的移动平均线(Moving Average, MA),这种均线能根据价格相对于均线的位置...

    mt4 变色均线 变色K线源代码 带EA

    变色均线和变色K线是MT4平台上的技术分析工具,帮助交易者识别市场趋势和潜在的交易机会。源代码的分享使得交易者有机会了解这些工具的工作原理,甚至进行个性化定制以适应自己的交易策略。 首先,我们来讨论“变色...

    C#验证码 验证码绘制在图片上

    标题与描述概述的知识点主要集中在使用C#编程语言来生成并绘制验证码到图片上。这一技术在现代网站和应用程序的安全性方面扮演着重要的角色,它能够有效地防止自动化工具的恶意登录尝试,保护用户数据安全。 ### ...

    Visual C# .NET精彩编程实例集锦

    实例1 如何使用错误提醒控件 实例2 如何使用信息提示控件 实例3 如何使用菜单控件 实例4 如何使用工具栏控件 实例5 如何使用状态栏控件 实例6 如何使用托盘控件 实例7 如何使用标签页控件 实例8 如何使用进度条控件 ...

    javascript网页特效实例大全(8-12)

    第8章 图形图像与多媒体 335 8.1 图片大小 336 实例215 打开自定义大小的图片 336 实例216 图片放大缩小 ...实例315 带验证码的登录页面 500 12.4 其他 501 实例316 使用Script Encoder加密工具加密 501

    gridview排序 变色 分页添加命令实例

    在本实例中,“gridview排序 变色 分页添加命令”涉及到的关键知识点包括GridView的排序、行变色以及分页功能的实现。 1. GridView排序: GridView控件默认支持单击列头进行升序或降序排序。首先,需要在GridView...

    【《,科学家揭开变色龙变色之谜》阅读附答案】科学家揭开变色龙.docx

    变色龙,这种神秘的爬行动物,以其独特的变色能力吸引了人们的极大兴趣。长久以来,科学家们一直在探索变色龙变色的秘密,试图揭示这种现象背后的生物学机制。近日,研究团队公布了一项重大发现,颠覆了人们对变色龙...

    java 生成图片验证码

    在IT领域,验证码(CAPTCHA)是一种用于验证用户是否为人类的自动程序,通常用于防止恶意机器人或自动化脚本的滥用。在Java编程语言中,我们可以创建一个图像验证码生成器来实现这一功能。下面我们将详细探讨如何...

    10.8专用变色龙

    "10.8专用变色龙"是一款专为安装Mac OS X Mountain Lion(10.8)系统设计的引导工具,它在Mac爱好者和开发者中备受推崇。变色龙,或者称为Chameleon,是一个开源的启动加载器,其主要功能是帮助非苹果硬件设备顺利...

    jQuery轻松实现表格的隔行变色和点击行变色的实例代码

    总结来说,本文提供的实例代码不仅清晰地演示了如何用jQuery实现表格的隔行变色和点击行变色,而且强调了jQuery在网页交互设计中的实用性和有效性。通过编写简单的jQuery脚本,可以极大地增强网页的功能和用户的交互...

    jq 验证码插件jq 验证码插件

    验证码插件在网页表单验证中扮演着至关重要的角色,它可以有效地防止自动化程序或机器人进行恶意操作,如垃圾邮件发送、刷票等。在给定的标题和描述中提到的"jq 验证码插件",指的是基于jQuery库开发的验证码插件,...

    JavaScript应用实例-听歌变色.js

    JavaScript应用实例-听歌变色.js

Global site tag (gtag.js) - Google Analytics