php使用HTTP实现用户数据库登陆验证实例

实例源代码 如下:

<?php
   function authenticate_user() {
      header(\'WWW-Authenticate: Basic realm=\"Secret Stash\"\');
      header(\"HTTP/1.0 401 Unauthorized\");
      exit;
   }

   if (! isset($_SERVER[\'PHP_AUTH_USER\'])) {
      authenticate_user();
   } else {
      mysql_pconnect(\"localhost\",\"authenticator\",\"secret\") or die(\"Can\'t connect to data  server!\");
      mysql_select_db(\"manong\") or die(\"Can\'t select authentication data !\");

      $query = \"SELECT username, pswd FROM user WHERE username=\'$_SERVER[PHP_AUTH_USER]\' AND pswd=MD5(\'$_SERVER[PHP_AUTH_PW]\')\";

      $result = mysql_query($query);

      // If nothing was found, reprompt the user for the login information.
      if (mysql_num_rows($result) == 0) {
         authenticate_user();
      }else{
         
      }
   }
?>

在程序中,首先检查变量$_SERVER['PHP_AUTH_USER']是否已经设置。如果没有设置,说明需要验证,脚本发出HTTP 401错误号头标,告诉客户端的浏览器需要进行身份验证,由客户端的浏览器弹出一个身份验证窗口,提示用户输入用户名和密码,输入完成后,连接数据库,查询该用用户名及密码是否正确,如果正确,允许登录进行相关操作,如果不正确,继续要求用户输入用户名和密码。  

收藏 打印