您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 服务器端脚本编程 > PHP专辑 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

一个完整、安全的用户登录系统
2001-04-11· ·QQ新人类编译··yesky

上一页  1 2 3  下一页


  以下是该库中的两个函数--记号产生和记号认证函数。

  <?php

   $hidden_hash_var='your_secret_password_here';

   $LOGGED_IN=false;
   unset($LOGGED_IN);

   function user_isloggedin() {
    global $user_name,$id_hash,$hidden_hash_var,$LOGGED_IN;
    file://已经进行无序码的检测了吗

    file://如果是的话,返回该变量

    if ( isset($LOGGED_IN) ) {

     return $LOGGED_IN;

     }

    file://are both cookies present?

    if ($user_name && $id_hash) {

    /*

     由cookies中得来的用户名和系统超级密码产生一个认证用的无序码如果该无序码与cookie中的无序码一样,则cookies中的变量是可信的,用户已经登录

    */

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

     if ($hash == $id_hash) {

      file://无序码符合,设置一个全局变量,这样我们在再次调用该函数的时候

      file://就无需再次进行md5()运算

      $LOGGED_IN=true;

      return true;

     } else {

      file://两个无序码不符合,没有登录

      $LOGGED_IN=false;

      return false;

     }

     } else {

       $LOGGED_IN=false;

       return false;

      }

     }

   function user_set_tokens($user_name_in) {

    /*

     一旦用户名和密码通过验证,就调用这个函数

    */

    global $hidden_hash_var,$user_name,$id_hash;

     if (!$user_name_in) {

      $feedback .= ' ERROR - User Name Missing When Setting Tokens ';

      return false;

      }

    $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);

    }

  ?>

上一页  1 2 3  下一页

■ 相关内容
 创建移动Web应用程序
 Java多线程程序设计初步
 WAP手机上的问卷调查系统的构建
 用VB6分离出文本框的单词
 浅谈Socket编程及Java实现
 如何在PHP中使用Oracle数据库
 使用JavaBean创建您的网上日历本
 多php服务器实现多session并发运行
 论坛、聊天室中滤除HTML标记
 Cookie简介及JSP处理Cookie的方法
 自己动手网络直播
 如何设计一个成功的网站
 作 PHOTOSHOP 6.0 的半个主人(4)
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!