PHP/Login Authentication/Browser Password Dialog — различия между версиями

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

Версия 10:37, 26 мая 2010

Open browser password dialog and authenticate user based on database

<?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();
      }
?>



Prompt Browser password dialog

<?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;
   }
?>