如何写一个漂亮的PHP验证码?兄弟连PHP培训
小编分享一段代码给大家:
<?php
class Imagecode{
private $width ;
private $height;
private $counts;
private $distrubcode;
private $fonturl;
private $session;
function __construct($width= 120,$height = 30,$counts =5,$distrubcode="1235467890qwertyuipkjhgfdaszxcvbnm",$fonturl="C:\Windows\Fonts\TektonPro-BoldCond.otf"){
$this->width=$width;
$this->height=$height;
$this->counts=$counts;
$this->distrubcode=$distrubcode;
$this->fonturl=$fonturl;
$this->session=$this->sessioncode();
session_start();
$_SESSION['code']=$this->session;
}
function imageout(){
$im=$this->createimagesource();
$this->setbackgroundcolor($im);
$this->set_code($im);
$this->setdistrubecode($im);
ImageGIF($im);
ImageDestroy($im);
}
private functioncreateimagesource(){
returnimagecreate($this->width,$this->height);
}
private functionsetbackgroundcolor($im){
$bgcolor = ImageColorAllocate($im,rand(200,255),rand(200,255),rand(200,255));//±³¾°ÑÕÉ«
imagefill($im,0,0,$bgcolor);
}
private functionsetdistrubecode($im){
$count_h=$this->height;
$cou=floor($count_h*2);
for($i=0;$i<$cou;$i++){
$x=rand(0,$this->width);
$y=rand(0,$this->height);
$jiaodu=rand(0,360);
$fontsize=rand(8,15);
$fonturl=$this->fonturl;
$originalcode =$this->distrubcode;
$countdistrub =strlen($originalcode);
$dscode =$originalcode[rand(0,$countdistrub-1)];
$color = ImageColorAllocate($im,rand(40,140),rand(40,140),rand(40,140));
imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$dscode);
}
}
private functionset_code($im){
$width=$this->width;
$counts=$this->counts;
$height=$this->height;
$scode=$this->session;
$y=floor($height/2)+floor($height/4);
$fontsize=rand(30,35);
$fonturl="C:\Windows\Fonts\AdobeGothicStd-Bold.otf";//$this->fonturl;
$counts=$this->counts;
for($i=0;$i<$counts;$i++){
$char=$scode[$i];
$x=floor($width/$counts)*$i+8;
$jiaodu=rand(-20,30);
$color =ImageColorAllocate($im,rand(0,50),rand(50,100),rand(100,140));
imagettftext($im,$fontsize,$jiaodu,$x,$y,$color,$fonturl,$char);
}
}
private functionsessioncode(){
$originalcode =$this->distrubcode;
$countdistrub =strlen($originalcode);
$_dscode = "";
$counts=$this->counts;
for($j=0;$j<$counts;$j++){
$dscode =$originalcode[rand(0,$countdistrub-1)];
$_dscode.=$dscode;
}
return $_dscode;
}
}
Header("Content-type:image/GIF");
$imagecode=newImagecode(160,50);
$imagecode->imageout();
分享到:
相关推荐
标题提到的"漂亮的php验证码类"是一个用于创建美观且安全的验证码的工具。 验证码类通常包含以下几个关键功能: 1. **随机字符生成**:验证码类会生成一组随机的字母或数字,这组字符既可能是纯数字,也可能是字母...
PHP入门培训教程PHP培训教程PHP基础教程GD库图像处理PPT教案.pptx
总的来说,这个“漂亮的php 验证码”项目展示了如何用PHP创建一个功能齐全且具有视觉吸引力的验证码系统,涉及到的技术包括PHP基础、图像处理、前端交互、会话管理等。这样的验证码系统对于任何需要防止自动化攻击的...
漂亮的php验证码,包含支持多字体,字母验证码,数字验证码,经过改进的支持多字体的php验证码,很清爽的感觉,也很大气,适合做商业网站开发插件,同时过滤了几个容易混淆的数字与字母。
PHP MVC框架核心类是PHP入门培训教程中的一部分,该教程旨在帮助初学者快速掌握PHP编程语言并学习MVC框架的核心概念。该教程通过实例演示了框架核心类的设计和实现,帮助学习者快速理解MVC框架的核心思想。 ...
1. **随机字符生成**:为了生成中文验证码,我们需要一个包含大量中文字符的字符串池。PHP提供了`mb_list_encodings`和`mb_convert_encoding`等函数来处理多字节字符集,如UTF-8,以确保正确地选取和输出中文字符。 ...
php实用验证码一例 php实用验证码一例 php实用验证码一例
"好用的php验证码类库.zip"就是一个这样的资源,提供了易于使用的PHP验证码实现。 验证码类库通常包括以下几个核心组件: 1. **生成验证码**:这个过程涉及到随机字符串或数字的生成,通常结合特定的字体、颜色和...
本教程旨在为初学者提供一个全面且深入的PHP学习指南,帮助你们掌握这个强大的编程工具。 第一本教程《PHP初级入门热门教程.chm》可能涵盖以下内容: 1. **PHP基础**:介绍PHP的历史、特点以及安装配置环境,如...
本教程将深入讲解如何使用PHP来发送QQ邮箱的验证码。 首先,要实现PHP发送邮箱验证码,我们需要了解SMTP(Simple Mail Transfer Protocol)协议。SMTP是互联网上传输电子邮件的标准,大多数邮件服务提供商,包括QQ...
通过这个CHM版的PHP入门教程,学习者不仅可以获得理论知识,还能通过实例练习巩固所学,从而逐步掌握PHP编程技能,为进一步深入学习PHP框架和Web开发打下坚实基础。记得在学习过程中,多动手实践,结合实际项目来...
《PHP从入门到精通》从初学者角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面...PHP入门教程 CHM 中文手册,使用很方便~ 让php初学者,找到学习的好方法,就1分,来吧。
1. 生成随机字符串:同图片验证码,首先需要生成一个安全的字符串。 2. 文本转语音(TTS):使用PHP的Text-to-Speech库,如eSpeak或Festival,将字符串转换为音频文件。 3. 提供下载或流式传输:将生成的音频文件...
例如,可能有一个`captcha.php`文件,它是验证码生成的入口,而其他文件如`font`目录下可能存放了各种字体文件,`images`目录可能包含背景图片或干扰元素。 使用这个验证码源码时,你需要在HTML表单中添加一个图像...
在这个项目中,PHP可能生成一个随机字符串作为验证码,并显示在图像上,用户需要输入相同的字符串才能继续。验证码的生成和验证都需要PHP代码来实现。 4. 文件操作: 因为没有使用数据库,用户的信息(用户名和...
`lib_verify.php` 文件可能是一个自定义的PHP验证码类,用于生成和验证这些验证码。 验证码类的设计通常包括以下几个关键部分: 1. **生成随机字符串**:验证码的核心是那一串随机字符。在PHP中,可以使用`rand()`...
几款用php写的漂亮的验证码!目录下有3个php文件,每个都是一种验证码,直接运行文件即可!
php,验证码,汉字验证码,PHP汉字验证码
Imagick 是一个更强大的图像处理扩展,它提供了更多的功能,但可能需要额外安装。 1. **数字验证码**:最简单的验证码类型是纯数字验证码,通常包含4-6个随机数字。在PHP中,我们可以使用 `rand()` 函数生成随机...
通过上述步骤,我们可以创建一个功能完善的PHP验证码生成类。这个类可以被多次实例化,每次生成不同的验证码图像,确保网站的安全。当用户提交表单时,服务器会检查输入的验证码与存储的验证码是否匹配,以此来确认...