一个简单安全的PHP验证码类、PHP验证码
发布时间:2020-12-12 21:44:17 所属栏目:PHP教程 来源:网络整理
导读:一,验证码示例 二,php验证码类,secoder.class.php * @link http://labs.yulans.cn/YL_Security_Secoder * @link http://wiki.yulans.cn/docs/yl/security/secoder */ class YL_Security_Secoder { /** * 验证码的session的下标 * * @var string */ //publ
一,验证码示例二,php验证码类,secoder.class.php
* @link http://labs.yulans.cn/YL_Security_Secoder
* @link http://wiki.yulans.cn/docs/yl/security/secoder
*/
class YL_Security_Secoder {
/**
* 验证码的session的下标
*
* @var string
*/
//public static $seKey = 'sid.sek ey.ylans.cn';
public static $seKey = 'sid';
public static $expire = 3000; // 验证码过期时间(s)
/**
* 验证码中使用的字符,01IO容易混淆,建议不用
*
* @var string
*/
public static $codeSet = '346789ABCDEFGHJKLMNPQRTUVWXY';
public static $fontSize = 25; // 验证码字体大小(px)
public static $useCurve = true; // 是否画混淆曲线
public static $useNoise = true; // 是否添加杂点
public static $imageH = 0; // 验证码图片宽
public static $imageL = 0; // 验证码图片长
public static $length = 4; // 验证码位数
public static $bg = array(243,251,254); // 背景
protected static $_image = null; // 验证码图片实例
protected static $_color = null; // 验证码字体颜色
/**
* 输出验证码并把验证码的值保存的session中
* 验证码保存到session的格式为: $_SESSION[self::$seKey] = array('code' => '验证码值','time' => '验证码创建时间');
*/
public static function entry() {
// 图片宽(px)
self::$imageL || self::$imageL = self::$length * self::$fontSize * 1.5 + self::$fontSize*1.5;
// 图片高(px)
self::$imageH || self::$imageH = self::$fontSize * 2;
// 建立一幅 self::$imageL x self::$imageH 的图像
self::$_image = imagecreate(self::$imageL,self::$imageH);
// 设置背景
imagecolorallocate(self::$_image,self::$bg[0],self::$bg[1],self::$bg[2]);
// 验证码字体随机颜色
self::$_color = imagecolorallocate(self::$_image,mt_rand(1,120),120));
// 验证码使用随机字体
//$ttf = dirname(__FILE__) . '/ttfs/' . mt_rand(1,20) . '.ttf'; 4
$ttf = dirname(__FILE__) . '/ttfs/4.ttf';
if (self::$useNoise) {
// 绘杂点
self::_writeNoise();
}
if (self::$useCurve) {
// 绘干扰线
self::_writeCurve();
}
// 绘验证码
$code = array(); // 验证码
$codeNX = 0; // 验证码第N个字符的左边距
for ($i = 0; $i
三,调用方法1,显示验证码页面code.php entry();
?>
2,检查验证码是否正确 entry();
$code = $_GET['code'];
echo $vcode->check($code);
//$_SESSION['code'] = $vc->getCode();//验证码保存到SESSION中
?>
3,验证码输入框调用页面 单击图片重新获取验证码
以上所述是小编给大家介绍的一个简单安全的PHP验证码类、PHP验证码。编程之家 52php.cn 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |