`

一个简单的php验证码程序

阅读更多
一个简单的验证码,生成的验证码,保存在session中,在调用时使用,主要是为了学习php的gd库与session。

完整代码如下:
<?php
/**
 * @vCode(m,n,x,y) m个数字  显示大小为n   边宽x   边高y
 * @site http://www.jbxue.com
 * @session $code 可以自行修改
 */
session_start(); 
vCode(4, 15); //4个数字,显示大小为15

function vCode($num = 4, $size = 20, $width = 0, $height = 0) {
	!$width && $width = $num * $size * 4 / 5 + 5;
	!$height && $height = $size + 10; 
	// 去掉了 0 1 O l 等
	$str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW";
	$code = '';
	for ($i = 0; $i < $num; $i++) {
		$code .= $str[mt_rand(0, strlen($str)-1)];
	} 
	// 画图像
	$im = imagecreatetruecolor($width, $height); 
	// 定义要用到的颜色
	$back_color = imagecolorallocate($im, 235, 236, 237);
	$boer_color = imagecolorallocate($im, 118, 151, 199);
	$text_color = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120)); 
	// 画背景
	imagefilledrectangle($im, 0, 0, $width, $height, $back_color); 
	// 画边框
	imagerectangle($im, 0, 0, $width-1, $height-1, $boer_color); 
	// 画干扰线
	for($i = 0;$i < 5;$i++) {
		$font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
		imagearc($im, mt_rand(- $width, $width), mt_rand(- $height, $height), mt_rand(30, $width * 2), mt_rand(20, $height * 2), mt_rand(0, 360), mt_rand(0, 360), $font_color);
	} 
	// 画干扰点
	for($i = 0;$i < 50;$i++) {
		$font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
		imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $font_color);
	} 
	// 画验证码
	@imagefttext($im, $size , 0, 5, $size + 3, $text_color, 'c:\\WINDOWS\\Fonts\\simsun.ttc', $code);
	$_SESSION["VerifyCode"]=$code; 
	header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate");
	header("Content-type: image/png;charset=gb2312");
	imagepng($im);
	imagedestroy($im);
} 
?> 
分享到:
评论

相关推荐

    PHP验证码图片生成程序

    PHP验证码图片生成程序,一起研究一下吧

    php验证码简单源码

    在这个PHP验证码程序中,生成的验证码存储在`session`中。Session是一种服务器端的存储机制,用于在多个页面间保持用户的会话状态。在PHP中,可以通过`session_start()`函数开启一个会话,并使用`$_SESSION`全局数组...

    一个很好的 PHP 验证码程序

    产生php随机验证码程序 一切颜色样式均可控制 没有封装成类 要封装自己可以封装

    PHP汉字验证码程序

    php汉字验证码程序,很好的!~~~~~~~~~

    php随机产生验证码的程序

    以下是对这个PHP验证码程序的详细解释。 首先,我们需要理解验证码的基本原理。验证码通常是一个随机生成的字符串,由字母、数字或特殊字符组成,显示为扭曲或变形的图像,用户需要手动输入以完成验证。这种人机...

    php程序实现验证码操作

    php程序实现验证码操作

    php验证码类 php中文验证码

    1. **随机字符生成**:为了生成中文验证码,我们需要一个包含大量中文字符的字符串池。PHP提供了`mb_list_encodings`和`mb_convert_encoding`等函数来处理多字节字符集,如UTF-8,以确保正确地选取和输出中文字符。 ...

    php实现简单的验证码

    在本文中,我们将深入探讨如何使用PHP来实现一个简单的图形验证码。 首先,我们需要理解验证码的基本原理。验证码通常由一串随机字符组成,这些字符可能是数字、字母或特殊符号的组合。为了增加破解难度,这些字符...

    简单完整的PHP验证码

    验证码(CAPTCHA)是一种用于...总结来说,创建一个简单而完整的PHP验证码涉及到生成随机字符串、图像处理、会话管理以及验证逻辑等多个方面。通过理解并实践这些步骤,开发者可以为自己的PHP应用添加有效的安全防护。

    一个php验证码生成类代码.zip

    这个“一个php验证码生成类代码.zip”压缩包中包含了一个PHP验证码生成类,它能够帮助开发者轻松地创建具有背景、干扰元素和随机文本的图像验证码。 验证码类通常包括以下几个核心功能: 1. **生成随机字符串**:...

    PHP随机验证码含有5种样式

    Imagick 是一个更强大的图像处理扩展,它提供了更多的功能,但可能需要额外安装。 1. **数字验证码**:最简单的验证码类型是纯数字验证码,通常包含4-6个随机数字。在PHP中,我们可以使用 `rand()` 函数生成随机...

    php验证码,php验证码类

    `lib_verify.php` 文件可能是一个自定义的PHP验证码类,用于生成和验证这些验证码。 验证码类的设计通常包括以下几个关键部分: 1. **生成随机字符串**:验证码的核心是那一串随机字符。在PHP中,可以使用`rand()`...

    PHP纯数字的验证码程序段

    这个验证码程序是PHP,没有字母,只有数字,有简单的背景图片

    php精美10个验证码

    2. **PHP验证码实现**:在PHP中,我们通常使用GD库或Imagick扩展来生成图像验证码。GD库是PHP内置的图形处理库,而Imagick则提供了更强大的图像处理功能。 3. **验证码类型**:精美验证码可能包括数字、字母、扭曲...

    php验证码 9款好看的验证码

    验证码(CAPTCHA)是“全自动区分计算机和人类的图灵测试”的缩写,它是一种用于防止恶意自动化程序(如机器人)滥用网站服务的安全机制。在PHP中,验证码通常通过生成随机字符串并配合图像处理库来创建,使得人类...

    php+js图片验证码

    标题 "php+js图片验证码" 描述的是一个使用PHP和JavaScript技术实现的图像验证码系统。在Web开发中,验证码是一种防止自动机器人或者恶意攻击者进行非法操作的安全机制,例如防止批量注册、垃圾评论等。这种验证码...

    PHP实现的验证码类库

    通过这个PHP验证码类库,开发者可以快速集成验证码功能,提升网站的安全性,同时也能深入理解PHP的图像处理和session管理等核心概念。在实际应用中,可以根据具体需求对类库进行扩展和定制,以达到最佳的用户体验和...

    PHP验证码代码,可参考

    验证码(CAPTCHA)是一种用于验证用户是否...`www.php` 和 `www_sub.php` 文件的组合提供了一个基本的验证码系统实现,通过学习和理解这些代码,开发者可以更好地掌握PHP验证码的制作方法,并将其应用到自己的项目中。

    PHP验证码的应用示例

    以下是一个简单的PHP验证码实现案例: ```php &lt;?php session_start(); $width = 120; $height = 40; $image = imagecreatetruecolor($width, $height); $bg_color = imagecolorallocate($image, 255, 255, 255); $...

    PHP字符扭曲图片验证码

    PHP验证码的核心在于生成随机字符串,并将其扭曲变形显示在图像上。`Verify.php`可能是这个系统的主脚本,它包含了创建验证码的逻辑。首先,脚本会生成一个通常由4到6个字母或数字组成的随机字符串,存储在服务器端...

Global site tag (gtag.js) - Google Analytics