一个漂亮的PHP验证码_PHP教程
程序员文章站
2024-02-18 10:24:16
...
一个漂亮的PHP验证码
验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。自己可以导入字体,可以按照自己的额需要随便修改。
一个漂亮的验证码,体现出网站的大方。
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 function createimagesource(){
return imagecreate($this->width,$this->height);
}
private function setbackgroundcolor($im){
$bgcolor = ImageColorAllocate($im, rand(200,255),rand(200,255),rand(200,255));//±³¾°ÑÕÉ«
imagefill($im,0,0,$bgcolor);
}
private function setdistrubecode($im){
$count_h=$this->height;
$cou=floor($count_h*2);
for($i=0;$iwidth);
$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 function set_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:WindowsFontsAdobeGothicStd-Bold.otf;//$this->fonturl;
$counts=$this->counts;
for($i=0;$idistrubcode;
$countdistrub = strlen($originalcode);
$_dscode = ;
$counts=$this->counts;
for($j=0;$jimageout();
下一篇: 求教程
推荐阅读
-
一个漂亮的PHP验证码_PHP教程
-
Github上的PHP资源汇总大全,githubphp汇总大全_PHP教程
-
一个用于mysql的数据库抽象层函数库_PHP
-
thinkphp的CURD和查询方式介绍_PHP教程
-
winxp[sp2]下Apache无法正常使用实战得出的解决办法_PHP教程
-
构建自己的PHP框架--抽象Controller的基类,框架controller_PHP教程
-
PHP在线生成二维码代码(google api)的例子,googleapi_PHP教程
-
新浪微博OAuth认证和储存的主要过程详解,oauth详解_PHP教程
-
PHP中SESSION使用中的一点经验总结_PHP教程
-
一个PHP验证码类代码分享(已封装成类)_PHP教程