IT技术江湖   操作系统   安全技术   平面设计   Web开发   数据库   互联网   搜索引擎   网络广告   
引擎技术江湖  BLOG  合作联系
本站
Google
IT技术江湖
首页>Web开发>php> 一个完整、安全的PHP用户登录系统
  • IT技术江湖
  • 一个完整、安全的PHP用户登录系统
    http://www.hack1st.com 来源: 2008-03-28 阅读: 评论

       }

       $user_name=strtolower($user_name_in);

       file://使用用户名和超级密码创建一个无序码,作判断是否已经登录用

       $id_hash= md5($user_name.$hidden_hash_var);

       file://设置cookies的有效期为一个月,可设置为任何的值

       setcookie('user_name',$user_name,(time()+2592000),'/','',0);

       setcookie('id_hash',$id_hash,(time()+2592000),'/','',0);

       }

       ?>

     再来看另一段有趣的代码,用户怎样才能安全地改变他们的email地址呢?他们可以在任何时候改变email地址,但是要进行确认。

       <?php

       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;

       f 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'));

    上一页 1 23 下一页

    上一篇:PHP空白页面常见原因及解决方法  
    下一篇:Apache+PHP+MySQL建立数据库驱动的动态网站

    ·网友互动--用户名: (新注册) 密码: 匿名评论 [所有评论]
    评论内容:(用户发表意见仅代表其个人意见,评论内容与本站立场无关,请自觉遵守互联网相关政策法规)
    关注此文读者还看过
    • ·PHP实例:实现文件上传的程序源码
      ·在PHP中使用ASP.NET AJAX
      ·PHP 5.0中多态性的实现方案浅析
      ·大型系统上PHP令人不爽的九大原因
      ·初学入门 PHP 和 MySQL
      ·用Suhosin加强PHP脚本语言安全性
      ·完全讲解PHP+MySQL的分页显示示例分析
      ·PHP程序加速探索之服务器负载测试
      ·PHP5手动最简安装方法
      ·用SSH与PHP相连接 确保数据传输的安全性
    最新更新
    • ·PHP实例:实现文件上传的程序源码
      ·在PHP中使用ASP.NET AJAX
      ·PHP 5.0中多态性的实现方案浅析
      ·大型系统上PHP令人不爽的九大原因
      ·用Suhosin加强PHP脚本语言安全性
      ·完全讲解PHP+MySQL的分页显示示例分析
      ·PHP程序加速探索之服务器负载测试
      ·PHP5手动最简安装方法
      ·用SSH与PHP相连接 确保数据传输的安全性
      ·Apache+PHP+MySQL建立数据库驱动的动态网站
    文章关注度排行
    ·PHP开发一个完整、安全的用户登录系统
    ·PHP入门的学习方法
    ·PHP空白页面常见原因及解决方法
    ·Apache+PHP+MySQL建立数据库驱动的动态网站
    ·PHP常用正则表达式收集
    ·PHP学习入门的一些基础知识
    ·php命令行参数详解及应用
    ·提升PHP速度全攻略
    热点推荐
    PHP开发一个完整、安全的用户登录系统
    PHP开发一个完整、安全
    PHP入门的学习方法
    PHP入门的学习方法
    提升PHP速度全攻略
    提升PHP速度全攻略
    频道推荐
    • ·PHP开发一个完整、安全的用户登录系统
    • ·PHP入门的学习方法
    • ·PHP学习入门的一些基础知识
    • ·提升PHP速度全攻略
    本站精华
    PHP入门的学习方法
    PHP入门的学
    提升PHP速度全攻略
    提升PHP速度
    PHP开发一个完整、安全的用户登录系统
    PHP开发一个
    • ·PHP开发一个完整、安全的用户
    • ·提升PHP速度全攻略
    • ·PHP入门的学习方法
    • ·PHP学习入门的一些基础知识
    • | 网站导航 | 联系QQ | 编辑邮箱 | RSS订阅 | 友情链接 | 官方blog
    • 版权所有:IT技术江湖 @2007-2008
    • powered by www.hack1st.com online services. all rights reserved.京ICP备07005766号