在日益庞大的网民的面前,如何能够合理的规避以防止服务器被恶意DoS攻击或者不法之徒利用机器程序自动贴牛皮癣广告?一条小小的验证码功能就可以阻挡大部分的问题,所以今天我们就来研究一下如何生成验证码。
要求:
码值
<?php /*黑马程序员济南中心*/ /* *如何生成随机数 * 有4位,大写字母和数字组成 * 随机生成 */ //列出所有的大写字母和数字作为一个集合 $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'; $chars_len = strlen($chars);//获取集合长度 //规定验证码值的长度 $code_len = 4; //初始化验证码值 $code = ''; //随机选取4位字符 for($i = 0;$i<$code_len;$i++){ //随机获取一个字符下标 $rand_index = mt_rand(0,$chars_len -1); //将获取到的下标从字符的集合中取出并追加到$code中 $code .= $chars[$rand_index]; } //$code就是我想获取到的4位的随机数 echo $code;
//开启session session_start(); $_SESSION['code'] = $code;
验证码图像
<?php[/align]/*黑马程序员济南中心*/ /*imagestring(resource $image , int $font , int $x , int $y , string $s , int $col) * — 水平地画一行字符串 * $image代表要将生成好的验证码写入到的画布 * $font 使用内置的字体,有1,2,3,4,5这5种型号 * $x,$y代表验证码在画布中的坐标位置 * $s 代表生成好的字符串 * $col 代表字体所用的颜色 */ //取一张图片作为背景 $bg_file = '/1.jpg'; //根据该图片,创建画布 $image = imagecreatefromjpeg($bg_file); //分配字体颜色,随机分配,黑色或者白色 if(mt_rand(0,1) ==1){ //如果是1就是设置字体颜色为黑色 $str_color = imagecolorallocate($image,0,0,0); }else{ //如果不是1就设置字体颜色为白色 $str_color = imagecolorallocate($image,255,0xff,255); } //内置5号字体 $font = 5; //位置 $str_x = 50; $str_y = 5; //生成带验证码的图片 imagestring($image,$font,$str_x,$str_y,$code,$str_color);
一定要输出图片和销毁画布:
上一篇:没有了!
下一篇:没有了!
作者:八戒先生
地址:安徽合肥高新区PBootMoBan模板网
电话:13355693937
邮箱:admin@pbootmoban.com
QQ:43171398
Copyright © 2018-现在 PbootMoBan All Rights Reserved. 免责声明:网站中图片均来源于网络,如有版权问题请联系删除!