同城约会| 杂志期刊| 小说| 两性论坛| 军事电影| 两性知识| 电脑知识| 汽车| 旅游| 收藏

LINUX环境中用PHP构建网站:用户的登入认证

来源: 作者: 出处:综艺读书 2006-08-06 进入讨论组
关 键 词:加密  php  mysql  ie  

  前面已经介绍了几个 php 的功能技巧,从现在开始就来充分利用组合这些技巧来构建一个强大的网站,以后会陆续地介绍一些高级和基本的技巧如何在网站中应用.
  
  建立一个好的网站,用户登认证功能是必不可少的,同样的在这儿我只是介绍思路和做法,并不会添鸭式地一步一步的列出步骤.
  
  首先需要一个可用来记录用户资料的数据库,其内容应当至少包括姓名和密码,自然根据需要可在数据库增加相应的字段.
  
  为了使数据库有资料,必须要有个注册程序,通过注册用户可将资料存进数据库,注册程序的实现非常地简单,仅仅是发出存入数据库的指令,在这里就不再描述了,这里要提出的是,出于对用户资料安全的考虑,最好为用户的密码加密,还有数据库不应出现相同的姓名,否则会乱套.
  
  下面介绍的重点是用户登入和登出的实现,用户登入的功能用 session 和 cookie 都能完成,我在这儿要介绍的是如何用 cookie 来完成这个功能的.
  
  其实用户登入的整个过程理解起来很简单,程序将用户输入的姓名和密码与数据库存储的资料进行对比,数据库有此用户的资料就通过,没有则拒绝该用户通过.
  
  来看看登入程序 login.php 的工作流程:
  
  用户提交资料到 login,php,login.php 就会经过如下处理:
  
  $passwd=md5($passwd);
  $result=mysql_query("select * from user where name='$name' and passwd='$passwd'");
  
  之所以密码要经过 md5 处理,是因为数据库存储的是经过 md5 加密过的密码,判断有无此用户存在,不存在或密码错误则给出些告警给该用户,存在此用户的资料的话,就可以将该用户的资料设置为 cookie 值,如下:
  
  setcookie("cookiename",$name,time()+18000,"","/");
  setcookie("cookiepasswd",$passwd,time()+18000,"","/");
  
  如果担心用户因忘记登出而造成安全问题的话,就把时间设置去除:
  
  setcookie("cookiename",$name,"","/");
  setcookie("cookiepasswd",$passwd,"","/");
  
  这样当用户关闭浏览器时,cookie 的设置就失效了,也就是说用户下一次来的时候,必须重新登入!虽然有了这个关闭浏览器就让 cookie 失效的安全功能,但还是需要一个用户登出的功能以策安全,登出功能也就是让记载用户资料的 cookie 失效的功能,完成这个功能很简单,只需要将时间置为 -1,并把 cookie 变量置空就行了:
  
  logout.php:
  
  setcookie('cookiename',"",time()-1,'/',"");
  setcookie('cookiepasswd',"",time()-1,'/',"");
  $cookiename="";
  $cookiepasswd="";
  
  这样一个完整的用户认证功能就完成了. 更多文章 更多内容请看Cisco认证体系专题  Linux 认证  Linux安全应用宝典专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
综艺读书宗旨
相关专题
·网站服务器的选型 (6537篇文章)
·Linux集群技术 (7085篇文章)
·Cisco认证体系专题 (2767篇文章)
·体验Linux的音影世界 (6845篇文章)
·Linux驱动大全 (7417篇文章)
·Linux下的路由的配置与应用 (10072篇文章)
·PHP开发应用手册 (2724篇文章)
·Linux命令简介 (8378篇文章)
·Linux防火墙 (8286篇文章)
·Linux日志专题 (7199篇文章)
热点标签: 加密  php  mysql  ie  
阅读排行榜
最新技术文档
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容
Web 全站
综艺电脑频道编辑信箱  告诉我们您想看的专题或文章

Google

友情互链 | 收藏本站 | 联系我们 | 在线留言 | 京ICP备08008424号|