最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
PHP开发一个完整、安全的用户登录系统
时间:2008-04-24 编辑:简简单单 来源:一聚教程网
在使用PHP编程的时候,我有一个习惯,不太喜欢使用现成的库文件,例如PHPLib或者其它类似的库,在这个系统中,我也打算自己写一个库文件,它需要处理认证、确认email,更新帐号(密码,email)等事情。
function user_change_email ($password1,$new_email,$user_name) {
global $feedback,$hidden_hash_var;
if (validate_email($new_email)) {
$hash=md5($new_email.$hidden_hash_var);
file://改变数据库中确认用的无序码值,但不改变email
file://发出一个带有新认证码的确认email
$user_name=strtolower($user_name);
$password1=strtolower($password1);
$sql="UPDATE user SET confirm_hash=''$hash'' WHERE user_name=''$user_name'' AND password=''". md5($password1) ."''";
$result=db_query($sql);
if (!$result || db_affected_rows($result) < 1) {
$feedback .= '' ERROR - Incorrect User Name Or Password '';
return false;
} else {
$feedback .= '' Confirmation Sent '';
user_send_confirm_email($new_email,$hash);
return true;
}
} else {
$feedback .= '' New Email Address Appears Invalid '';
return false;
}
}
function user_confirm($hash,$email) {
/*
用户点击认证email的相关连接时,连到一个确认的页面,该页面会调用这个函数,
*/
global $feedback,$hidden_hash_var;
file://verify that they didn''t tamper with the email address
$new_hash=md5($email.$hidden_hash_var);
if ($new_hash && ($new_hash==$hash)) {
file://在数据库中找出这个记录
$sql="SELECT * FROM user WHERE confirm_hash=''$hash''";
$result=db_query($sql);
if (!$result || db_numrows($result) < 1) {
$feedback .= '' ERROR - Hash Not Found '';
return false;
} else {
file://确认email,并且设置帐号为已经激活
$feedback .= '' User Account Updated - You Are Now Logged In '';
user_set_tokens(db_result($result,0,''user_name''));
$sql="UPDATE user SET email=''$email'',is_confirmed=''1'' WHERE confirm_hash=''$hash''";
$result=db_query($sql);
-
上一个: PHP实现翻页跳转功能
-
下一个: PHP开发多任务应用程序
相关文章
- php入门级用户登录代码 09-15
- php 判断用户是否登录 08-22
- php 用户登录代码 08-21
- php用户登录代码 08-16
- php用户登陆代码(限制用户错误登录次数) 07-19
- php 怎么判断用户登录了 07-28
热门栏目
-
php教程
php入门 php安全 php安装 php常用代码 php高级应用 -
asp.net教程
基础入门 .Net开发 C语言 VB.Net语言 WebService -
手机开发
安卓教程 ios7教程 Windows Phone Windows Mobile 手机常见问题 -
css教程
CSS入门 常用代码 经典案例 样式布局 高级应用 -
网页制作
设计基础 Dreamweaver Frontpage js教程 XNL/XSLT -
办公数码
word excel powerpoint 金山WPS 电脑新手 -
jsp教程
Application与Applet J2EE/EJB/服务器 J2ME开发 Java基础 Java技巧及代码