用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”等方法来传递外部值。