用PHP进行基本身份验证

现在,由于免费获取SSL证书变得简单,或许基本身份验证机制也可以意外地变得更方便使用。我写了一个可以像Rails一样使用的方法。

function http_basic_authenticate_with($name,$password,$realm = "Protected area"){
  if (!isset($_SERVER['PHP_AUTH_USER']) || !($_SERVER['PHP_AUTH_USER'] == $name && $_SERVER['PHP_AUTH_PW'] == $password )) {
    header('WWW-Authenticate: Basic realm="'.$realm.'"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Not allowed to access.';
    exit;
  }
}

如果将此代码写在PHP脚本的开头,页面就会成为需要基本身份验证的页面。

http_basic_authenticate_with("user","pass");  

在预览客户机或进行一些小型管理功能操作时,我认为这已经足够了。如果源代码中保存了密码会造成困扰,也可以使用”$ _ ENV”等方法来传递外部值。

请提供参考链接。