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

yipeiwu_com6年前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");
echo "账号/密码错误!";
exit;
}
}
?>

相关文章

PHP更安全的密码加密机制Bcrypt详解

前言 我们常常为了避免在服务器受到攻击,数据库被拖库时,用户的明文密码不被泄露,一般会对密码进行单向不可逆加密——哈希。 常见的方式是: 哈希方式...

查找php配置文件php.ini所在路径的二种方法

通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。 如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),...

Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码

Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码

1 建立get.php get.php=> 复制代码 代码如下: <?php $data=array( array(1,"yixing",123), array(2,"che...

PHP爆绝对路径方法收集整理

1、单引号爆路径 说明: 直接在URL后面加单引号,要求单引号没有被过滤(gpc=off)且服务器默认返回错误信息。 Eg: www.xxx.com/news.php?id=149′ 2...

PHP 时间转换Unix时间戳代码

复制代码 代码如下:<?php date_default_timezone_set('Asia/Chongqing'); $time1 = "2006-04-16 08:40:54...