默認情況下,大多數web服務器一般被配置為匿名訪問,也即為,用戶在訪問服務器上的信息時一般不會被要求提示標識信息。匿名訪問意味著用戶不使用用戶名和密碼登陸就可以訪問網站。這也是絕大多數公共網站所使用的配置。
在Apache的配置文件“httpd.conf”中,默認被配置為匿名訪問(如下):
復制代碼 代碼如下:
<directory "C:/program files/Apache software foundation/apache2.2/htdocs">
Options Indexes FollowSymLinks Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
--------------------------------------------------------------------------------
要強制浏覽器使用基本身份認證,必須傳遞一個WWW-Authenticate字段,例如下邊的代碼使用header()函數來要求客戶端使用BASIC驗證,它在HTTP消息報頭中增加一個WWW-Authenticate字段:
header("WWW-Authenticate:BASIC Realm=My Realm");
--------------------------------------------------------------------------------
下邊寫一個使用
復制代碼 代碼如下:
<?php
if(!isset($_SERVER['PHP_AUTH_USER'])){
header("WWW-Authenticate:BASIC Realm=My Realm");
header("HTTP/1.0 401 Unauthorized");
echo("賬號/密碼錯誤!");
exit;
}else{
/*獲取用戶名,密碼進行驗證*/
$user=$_SERVER['PHP_AUTH_USER'];
$pwd=$_SERVER['PHP_AUTH_PW'];
if($user=="admin"&&$pwd="password"){
echo "通過驗證";
}else{
header("HTTP/1.0 401 Unauthorized");
echo "賬號/密碼錯誤!";
exit;
}
}
?>