验证码类
来源:互联网 发布:linux mount作用 编辑:程序博客网 时间:2024/06/04 23:55
<?php
//$_SESSION ['SafeCode'] = 验证码;
session_start ( );
$type = 'gif';
$width = 40;
$height = 16;
header ( "Content-type: image/" . $type );
srand ( ( double ) microtime () * 1000000 );
$randval = randStr ( 4, "" );
if ($type != 'gif' && function_exists ( 'imagecreatetruecolor' )) {
$im = @imagecreatetruecolor ( $width, $height );
} else {
$im = @imagecreate ( $width, $height );
}
$r = Array (225, 211, 255, 223 );
$g = Array (225, 236, 237, 215 );
$b = Array (225, 236, 166, 125 );
$key = rand ( 0, 3 );
$backColor = ImageColorAllocate ( $im, 255, 255, 255 ); //背景色(随机)
$borderColor = ImageColorAllocate ( $im, 255, 255, 255 ); //边框色
$pointColor = ImageColorAllocate ( $im, 192, 192, 192 ); //点颜色
@imagefilledrectangle ( $im, 0, 0, $width - 1, $height - 1, $backColor ); //背景位置
@imagerectangle ( $im, 0, 0, $width - 1, $height - 1, $borderColor ); //边框位置
$stringColor = ImageColorAllocate ( $im, 51, 51, 255 );//字体颜色
for($i = 0; $i <= 100; $i ++) {
$pointX = rand ( 2, $width - 2 );
$pointY = rand ( 2, $height - 2 );
@imagesetpixel ( $im, $pointX, $pointY, $pointColor );
}
@imagestring ( $im, 3, 5, 1, $randval, $stringColor );
$ImageFun = 'Image' . $type;
$ImageFun ( $im );
@ImageDestroy ( $im );
$_SESSION ['SafeCode'] = $randval;
//产生随机字符串
function randStr($len = 6, $format = 'ALL') {
switch ($format) {
case 'ALL' :
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
case 'CHAR' :
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case 'NUMBER' :
$chars = '0123456789';
break;
default :
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
}
$string = "";
while ( strlen ( $string ) < $len )
$string .= substr ( $chars, (mt_rand () % strlen ( $chars )), 1 );
return $string;
}
?>
- 验证码类,生成验证码
- java验证码类
- GIF验证码类
- php验证码类
- 验证码生成类
- 验证码类
- 验证码类
- 验证码类
- php验证码类
- 验证码类
- 测试验证码类
- 验证码类
- GIF验证码类
- PHP验证码类
- 验证码类
- php验证码类
- 验证码生成类
- php 验证码类
- 各种网站设计技巧
- Android 中文 API (28) —— CheckedTextView
- autocomplete使用手册
- 职业生涯你需要这样规划
- winform制作自定义控件
- 验证码类
- git 使用规则
- google_JS
- 架设流媒体服务器
- REST Service 的最佳实践,第 1 部分: 重新解析 REST Service(http://www.ibm.com/developerworks/cn/webservices/1101_)
- 常识
- 让Source Insight的头文件和实现文件快捷键打开的方式
- MIT《计算机科学与编程导论》课堂笔记
- Oracle树查询及相关函数