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 相关文章推荐
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
Nov 18 PHP
php SQL之where语句生成器
Mar 24 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
Apr 26 PHP
php版小黄鸡simsimi聊天机器人接口分享
Jan 26 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
php购物车实现方法
Jan 03 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP实现的日历功能示例
Sep 01 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 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输出缓存ob系列函数详解
2014/03/11 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
JS中parseInt()和map()用法分析
2016/12/16 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
基于JS实现视频上传显示进度条
2020/05/12 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
简单介绍Python中的round()方法
2015/05/15 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
使用python实现接口的方法
2017/07/07 Python
python list元素为tuple时的排序方法
2018/04/18 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
python解决字符串倒序输出的问题
2018/06/25 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
办公室岗位职责范本
2015/04/11 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis