PHP/Login Authentication/Browser Password Dialog

Материал из Web эксперт
Перейти к: навигация, поиск

Open browser password dialog and authenticate user based on database

   <source lang="html4strict">

<?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_connect("localhost","authenticator","secret") or die("Can"t connect to database server!");
     mysql_select_db("gilmorebook") or die("Can"t select authentication database!");
     $query = "SELECT username, pswd FROM user WHERE username="$_SERVER[PHP_AUTH_USER]" 
                     AND pswd=MD5("$_SERVER[PHP_AUTH_PW]") AND ipAddress="$_SERVER[REMOTE_ADDR]"";
     $result = mysql_query($query);
     if (mysql_num_rows($result) == 0)
        authenticate_user();
        mysql_close();
     }

?>


      </source>
   
  


Prompt Browser password dialog

   <source lang="html4strict">

<?php

  if (($_SERVER["PHP_AUTH_USER"] != "specialuser") || ($_SERVER["PHP_AUTH_PW"] != "secretpassword")) {
     header("WWW-Authenticate: Basic Realm="Secret Stash"");
     header("HTTP/1.0 401 Unauthorized");
     print("You must provide the proper credentials!");
     exit;
  }

?>

      </source>