All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
一个Asp.net探针的源码_[Asp.Net教程]
asp.net2.0网站语法之ASPX文件内容注释
C#教程:Windows服务概述
生成pdf文件的好东西,itextsharp_[Asp.Net教程]
用ASP.NET,2.0主题控制网站外观_[Asp.Net教程]
比较测试PHP+MYSQL分页机制两种方案_[PHP教程]
不用改文件名,防止IIS文件被下载方法_[Asp.Net教程]
SQLSERVER2005的混和身份验证模式的设置以及SA登陆问题_[SQL Server教程]
SQL SERVER 2005 EXPRESS不能远程连接的问题_[SQL Server教程]
SQL,Server,2005,CE软件环境需求_mssql学习_编程技术
Reading number is top 10 pictures
人美胸美腿更美3
水晶头骨造型的酒瓶
Earthquake hedge common sense
猫眯也疯狂
运动的范冰冰1
The Soviet union swimsuit exposure in the 70 year3
云南大理的美女
Summer is most suitable for young people to travel in China3
Group of female porn in 《westwards》, uninhibited woman threatened to not the bottom line1
Household design comfortable contracted
Download software ranking
C++教程第四版
Tram sex maniac 2 (H) rar bag8
Unix video tutorial4
White deer villiage
Tram sex maniac 2 (H) rar bag2
Be there or be square
Tram sex maniac 2 (H) rar bag13
linux初级教程
艳兽都市
Ashlynn Video3
归海一刀 published in(发表于) 2014/2/17 7:33:25 Edit(编辑)
PHP实例:用PHP实现表单验证码登陆校验_[PHP教程]

PHP实例:用PHP实现表单验证码登陆校验_[PHP教程]

PHP实例:用PHP实现表单验证码登陆校验_[PHP教程]

原理:生成一个图片,并且保存图片中显示的字符到SESSION.在登陆时判断输入的校验码是否和SESSION中校验码相同.


这是生成校验码和图片的文件checkNumber.php


session_start();
if(act == "init")
{
Header("Content-type: image/png");
srand(microtime() * 100000);
login_check_number = strval(rand("1111","9999"));
session_register("login_check_number");
//这里是使用了SESSION来保存校验码.
//当然也可以用COOKIE
//setcookie("login_check_number",login_check_number);
//然后将第一行的session_start()删除;
//不推荐使用COOKIE,因为使用COOKIE并不能进行安全的验证.
h_img = imagecreate(40,17);
c_black = ImageColorAllocate(h_img, 0,0,0);
c_white = ImageColorAllocate(h_img, 255,255,255);
imageline(h_img, 1, 1, 350, 25, c_black);
imagearc(h_img, 200, 15, 20, 20, 35, 190, c_white);
imagestring(h_img, 5, 2, 1, login_check_number, c_white);
ImagePng(h_img);
ImageDestroy(h_img);
die();
}
/*
使用方法:
在HTML文件中加入在登陆校验PHP页面中加入以下代码(注意:在加入代码前不能有输出,因为使用了SESSION)
//number 是你输入的校验码的值
include_once("./checkNumber.php");
//检验校验码
if(number != login_check_number || empty(number))
{
print("校验码不正确!");
die();
}
*/
?>


使用SESSION的问题:


如果打开登陆页在SESSION的失效后才进行登陆,那么登陆会失败.


使用COOKIE的问题:


COOKIE是保存在客户端的,所以如果使用COOKIE的话还不如不用.


针对VBB论坛.保存checkNumber.php后.修改MYSQL数据库template数据表的title 为 logincode forumhome_logincode username_loggedout的template 内容.


然后在member.php的


if (action=="login")


后加入


//检验校验码
include_once("./checkNumber.php");
if(number != login_check_number || number == "")
{
print("校验码不正确!");
die();
}








添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.