background image

php 创建基本身份认证站点的方法

本文对 php 创建基本身份认证站点进行了详细的分析介绍,需要的朋友参考下
默认情况下,大多数 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");