php验证码
❶ php验证码解析
同学 具体那看不明白请说
东西太多 不能一一解释
<?php
//产生随机变形随机码
session_start();;/* 开启SESSION 以便其他页面对验证码进行验证*/
$authnum=random(4);//种子
Header("Content-type: image/PNG"); //古例,改不得
$im = imagecreate(55,18); //imagecreate() 新建图像,大小为 x_size 和 y_size 的空白图像。
$red = ImageColorAllocate($im, 52,24,128); //设置背景颜色
$white = ImageColorAllocate($im, 65,223,224);//设置文字颜色
$gray = ImageColorAllocate($im, 0,0,0); //设置杂点颜色
imagefill($im,55,18,$red);
for ($i = 0; $i < strlen($authnum); $i++)
{
imagestring($im, 6, 13*$i+4, 1, substr($authnum,$i,1), $white);
}
for($i=0;$i<50;$i++) imagesetpixel($im, rand()%55 , rand()%48 , $gray); //加入干扰象素
ImagePNG($im); //以 PNG 格式将图像输出到浏览器或文件
ImageDestroy($im);//销毁一图像
$authnum=strtolower($authnum);
$_SESSION['code']=$authnum /* 把验证码的内容赋值给SESSION 以便其他页面验证*/
//产生随机数的函数
function random($length) /* 产生随机数字或者字母 */
{
$hash = '';
$chars = '';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash; //又来
}
?>
❷ 我的php代码中登陆界面加一个验证码,如何实现
php登陆页面+验证码的实现,参考如下:
1、首先新建一个php站点;
❸ php图片验证码实现
可以用php的GD库做
//随机生成验证码
class randomString
{
function createRandomStr($strLen)
{
list($usec, $sec) = explode(' ', microtime());
(float) $sec + ((float) $usec * 100000);
$number = '';
$number_len = $strLen;
$stuff = '';//附加码显示范围ABCDEFGHIJKLMNOPQRSTUVWXYZ
$stuff_len = strlen($stuff) - 1;
for ($i = 0; $i < $number_len; $i++) {
$number .= substr($stuff, mt_rand(0, $stuff_len), 1);
}
return $number;
}
}
通过ZD库将验证码变成图片
$number = $createStr->createRandomStr('4');//验证码的位数
$number_len = strlen($number);
$_SESSION["VERIFY_CODE"] = $number;
// 生成验证码图片
$img_width = 60;
$img_height = 20;
$img = imageCreate($img_width, $img_height);
ImageColorAllocate($img, 0x6C, 0x74, 0x70);
$white = ImageColorAllocate($img, 0xff, 0xff, 0xff);
$ix = 6;
$iy = 2;
for ($i = 0; $i < $number_len; $i++) {
imageString($img, 5, $ix, $iy, $number[$i], $white);
$ix += 14;
}
for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($img,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($img, rand()%100 , rand()%50 , $randcolor);
}
// 输出图片
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);
imagedestroy($img);
❹ PHP验证码输出
function getRandCode(){
$code="";
$string="";
for($i=0;$i<4;$i++){
$string.=$code{rand(0,strlen($code)-1)};
}
return $string;
}
存在这个$string中!!你直接把它弄成个全局的 输出下!或者存到session中也可以
❺ PHP验证码代码问题
<form action="" method="post">
<img src='2.php'><br> “ 这句调用的文件对不,是你第一个文件不?你把这个 2.php换成你验证码的那个文件试试
<input type="text" name="check" ><br>
<input type="submit" value="提交" ><br>
</form>
❻ PHP如何去掉输入验证码
你发的这些代码,只是验证码生成页面!
要去掉验证码验证, 那就要在登陆逻辑处理页面对验证码的验证进行取消, 而不是这里的代码!
❼ php验证码判断
session_start();
$str_number = trim($_POST['number']);
if(strtolower($_SESSION['rand'])==strtolower($str_number )){
echo "验证码正确";
}else{
echo "验证码不正确";
}
最好加strtolower函数转换下大小写,这样子,用户在输入时就不用区分大小写了。不然用户体验会很麻烦,这是我个人理解。
❽ php你的验证码安全码
验证码的作用主要有防止暴力破解,防止恶意灌水,防止自动提交等,在这里我就不多说了。验证码的类型也有数字、字母等,甚至厉害点的还有中文的。但是不管你的验证码多么厉害,只要你在表单验证中存在如下的失误,你的验证码就形同虚设!
验证码的一般思路,就是每次登陆的地方访问一个脚本文件,该文件生成含验证码的图片并将值写入到Session里,提交的时候验证登陆的脚本就会判断提交的验证码是否与Session里的一致。
问题出现了,在登陆密码错误之后,我们不去访问生成验证图片的文件,那么如果Session中的验证码没有被清空,此时验证码就是跟上次的一样,辛辛苦苦构建的验证码机制就形同虚设了。
下面我们先来看一段有问题的代码:
登陆部分:
CODE:
<tr>
<td>管理员姓名:
❾ 求问一个php验证码失效问题
1楼的确说的也对,还有你的验证码验证是不是在插入数据之前呢,还有是不是还有其他的入口提交位置,你忽略的验证。
❿ php 怎么获取验证码的值
$_SESSION["vcode"] = $vcode;
验证码的值就在 $_SESSION["vcode"] 里面。