Usernames and Passwords Are Checked Against Data in a File : Authentication « HTML « PHP





Usernames and Passwords Are Checked Against Data in a File

 
<?php
if (isset($_SERVER["PHP_AUTH_USER"])) {
  $user = $_SERVER["PHP_AUTH_USER"];
  $pass = $_SERVER["PHP_AUTH_PW"];
} elseif (isset($_SERVER["HTTP_AUTHORIZATION"])) {
  if (substr($_SERVER["HTTP_AUTHORIZATION"], 0, 5) == "Basic") {
    $userpass = split(":",
      base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)));
    $user = $userpass[0];
    $pass = $userpass[1];
  }
}

$auth = false;
$pwfile = fopen("users.txt", "r");
while (!feof($pwfile)) {
  $data = split(":", rtrim(fgets($pwfile, 1024)));
  if ($user == $data[0] && crypt($pass, "pw") == $data[1]) {
    $auth = true;
    break;
  }
}
fclose($pwfile);

if (!$auth) {
  header("WWW-Authenticate: Basic realm=\"PHP\"");
  header("HTTP/1.0 401 Unauthorized");
} else {
  echo("Welcome, $user!");
}
?>
  
  










Related examples in the same category

1.Authentication Over HTTP
2.Basic authentication prompt
3.Checking the values returned from the authentication prompt
4.Get Users from users table
5.Enforcing Basic authentication
6.HTTP Authentication example
7.HTTP Authentication example forcing a new name/password
8.Hardcoding the username and password into a script
9.If user logged in
10.Only One Username and Password Is Valid
11.Usernames and Passwords Are Checked Against Data in a Database
12.Using HTTP authentication with a PHP script
13.Use database to store user name and password
14.The Username and Password Are Retrieved for Both Apache and IIS
15.Simple credentials checking:
16.User management with database