2014年1月30日 星期四

使用 PHP 檔頭的密碼功能

Authorization with PHP Header

得到朋友提點,才知道原來能用 PHP 檔頭達致密碼功能。適合不能設定 .htaccess 的地方。
$allowedIPArray = array("012.345.678.900");

$ipAddress = $_SERVER["REMOTE_ADDR"];
$ipAddressX = $_SERVER["HTTP_X_FORWARDED_FOR"];

//  Check if specific IP address
if (!in_array($ipAddress, $allowedIPArray) && !in_array($ipAddressX, $allowedIPArray))  {

 //  IP not in allowed list, ask for login then
 if (!isset($_SERVER["PHP_AUTH_USER"]))  {

  header('WWW-Authenticate: Basic realm="Please enter your login account."');
  header("HTTP/1.0 401 Unauthorized");
  exit(-1);
 }

 //  Login received, check for permission
 $login = $_SERVER["PHP_AUTH_USER"];
 $password = $_SERVER["PHP_AUTH_PW"];

 if ($login != "pacess" || $password != "1234")  {

  header("Content-type: text/html; charset=utf-8");
  echo("Access denied!");
  exit(-2);
 }
}

//  Login success!

沒有留言: