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

默认情况下,大多数web服务器一般被配置为匿名访问,也即为,用户在访问服务器上的信息时一般不会被要求提示标识信息。匿名访问意味着用户不使用用户名和密码登陆就可以访问网站。这也是绝大多数公共网站所使用的配置。
在Apache的配置文件“httpd.conf”中,默认被配置为匿名访问(如下):
<div class="codetitle"><a style="CURSOR: pointer" data="61268" class="copybut" id="copybut61268" onclick="doCopy('code61268')"> 代码如下:

<div class="codebody" id="code61268">
<directory "C:/program files/Apache software foundation/apache2.2/htdocs">
Options Indexes FollowSymLinks Includes
AllowOverride None
Order allow,deny
Allow from all


--------------------------------------------------------------------------------
要强制浏览器使用基本身份认证,必须传递一个WWW-Authenticate字段,例如下边的代码使用header()函数来要求客户端使用BASIC验证,它在HTTP消息报头中增加一个WWW-Authenticate字段:

<FONT style="COLOR: #ff0000">header("WWW-Authenticate:BASIC Realm=My Realm");

--------------------------------------------------------------------------------
下边写一个使用
<div class="codetitle"><a style="CURSOR: pointer" data="52982" class="copybut" id="copybut52982" onclick="doCopy('code52982')"> 代码如下:
<div class="codebody" id="code52982">
<?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;
}
}
?>

身份认证

相关文章

如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较