用PHP编写CAPTCHA(验证码)
2015-02-07 17:10
309 查看
CAPTCHA,是Completely Automated Public Turing Test to Tell Computers and Humans Apart (完全自动化公共图灵测试以区分计算机和人类)的简称。现在已经设计出丰富的CAPTCHA,不过最简单有效的方法是生成一个要求用户输入的随机字符,即我们所说的验证码。
<?php define ('CAPTCHA_NUMCHARS', 6); define('CAPTCHA_WIDTH', 100); define('CAPTCHA_HEIGHT', 25); //产生随机字符 $pass_phrase = ""; for ($i = 0; $i < CAPTCHA_NUMCHARS; $i++) { $pass_phrase .= chr(rand(97, 122)); } //生成图片 $img = imagecreatetruecolor(CAPTCHA_WIDTH, CAPTCHA_HEIGHT); //设置背景、条纹、字体颜色 $bg_color = imagecolorallocate($img, 255, 255, 255); $text_color = imagecolorallocate($img, 0, 0, 0); $graphic_color = imagecolorallocate($img, 64, 64, 64); // 填充背景 imagefilledrectangle($img, 0, 0, CAPTCHA_WIDTH, CAPTCHA_HEIGHT, $bg_color); // 生产随机的条纹 for ($i = 0; $i < 5; $i++){ imageline ($img, 0, rand() % CAPTCHA_HEIGHT, CAPTCHA_WIDTH, rand() % CAPTCHA_HEIGHT, $graphic_color); } // 生成随机的点 for ($i=0; $i < 50; $i++) { imagesetpixel($img, rand() % CAPTCHA_WIDTH, rand() % CAPTCHA_HEIGHT, $graphic_color); } // 生产随机字符 imagettftext($img, 18, 0, 5, CAPTCHA_HEIGHT - 5, $text_color, 'Courier New Bold.ttf', $pass_phrase); // 以PNG的格式输出图像 header ("Content-type: image/png"); imagepng($img); imagedestroy($img); ?>
相关文章推荐
- php编写一个网站验证码
- PHP学习实例—4(验证码类的编写)
- php编写一个网站验证码
- php实现动态随机验证码机制(CAPTCHA)
- php编写验证码
- PHP编写登录验证码功能 附调用方法
- PHP编写登录验证码功能 附调用方法
- PHP简单验证码的编写
- php验证码的编写
- 用VB编写验证码组件
- 简单的用PHP编写的导航条程序
- php图形验证码
- PHP生成带有雪花背景的验证码
- 编写PHP的安全策略
- 关于MCV中用C编写module然后加载进PHP中
- 编写自己的php扩展函数
- php编写大型网站问题集
- 用Zend Encode编写开发PHP程序
- 编写PHP的安全策略
- 用Zend Encode编写开发PHP程序