php 身份认证服务,PHP的HTTP身份认证
PHP 的 HTTP 認(rèn)證機(jī)制僅在 PHP 以 Apache 模塊方式運(yùn)行時(shí)才有效,因此該功能不適用于 CGI 版本。在 Apache 模塊的 PHP 腳本中,可以用 header() 函數(shù)來向客戶端瀏覽器發(fā)送“Authentication Required”信息,使其彈出一個(gè)用戶名/密碼輸入窗口。當(dāng)用戶輸入用戶名和密碼后,包含有 URL 的 PHP 腳本將會(huì)再次和預(yù)定義變量 PHP_AUTH_USER、PHP_AUTH_PW 和 AUTH_TYPE 一起被調(diào)用,這三個(gè)變量分別被設(shè)定為用戶名,密碼和認(rèn)證類型。預(yù)定義變量保存在 $_SERVER 或者 $HTTP_SERVER_VARS 數(shù)組中。系統(tǒng)僅支持“基本的”認(rèn)證
$authorized = FALSE;
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
$authFile = file("./password.txt");
foreach ($authFile as $login) {
list($username, $password) = explode(":", $login);
$password = trim($password);
if (($username == $_SERVER['PHP_AUTH_USER']) && ($password == md5($_SERVER['PHP_AUTH_PW']))) {
$authorized = TRUE;
break;
}
}
}
// If not authorized, display authentication prompt or 401 error
if (! $authorized) {
header('WWW-Authenticate: Basic Realm="Secret Stash"');
header('HTTP/1.0 401 Unauthorized');
print('You must provide the proper credentials!');
exit;
}
?>
轉(zhuǎn)自:http://www.111cn.net/phper/phpanqn/38498.htm
總結(jié)
以上是生活随笔為你收集整理的php 身份认证服务,PHP的HTTP身份认证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html 使用ajax php函数吗,p
- 下一篇: php验证手机验证码过期,验证过期时间