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


Posted in PHP onJune 08, 2013

 默认情况下,大多数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 相关文章推荐
php的memcache类分享(memcache队列)
Mar 26 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
php设计模式之单例模式代码
Jun 11 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
实现PHP搜索加分页
Oct 12 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 #PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 #PHP
探讨方法的重写(覆载)详解
Jun 08 #PHP
php类常量的使用详解
Jun 08 #PHP
深入分析php中接口与抽象类的区别
Jun 08 #PHP
探讨PHP中this,self,parent的区别详解
Jun 08 #PHP
深入php self与$this的详解
Jun 08 #PHP
You might like
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
2015/09/05 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
Windows上node.js的多版本管理工具用法实例分析
2019/11/06 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
Python 转义字符详细介绍
2017/03/21 Python
python中实现k-means聚类算法详解
2017/11/11 Python
Python使用functools实现注解同步方法
2018/02/06 Python
Python入门之后再看点什么好?
2018/03/05 Python
pytorch 预训练层的使用方法
2019/08/20 Python
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
母校寄语大全
2014/04/10 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
php png失真的原因及解决办法
2021/10/24 PHP