对目录设置密码保护配置说明
我们有时候访问某些网站的时候,要求输入用户名和密码才能访问。这是为了保护隐私,只让经过许可的人访问。
在本教程中主要介绍两种方法,一种是通过apache
httpd.conf配置文件对管理后台目录设置密码保护,适用于具有服务器控制权限的用户,另一种是通过.htaccess配置文件对目录设置密码保护,适用于虚拟主机用户。

方法一:apache httpd.conf配置文件对目录设置密码保护教程(下面两个步骤)

-----------------------------------------------------------
一、使用apache
htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解
apache
htpasswd命令用法实例
1、如何利用htpasswd命令添加用户?
在apache安装目录bin下找到htpasswd

[root@fabao365 /home/like]#usr/local/apache/bin/htpasswd -bc .passwd like like123456

  在/home/like目录下生成一个.passwd文件,用户名like,密码:like123456,默认采用MD5加密方式
2、如何在原有密码文件中增加下一个用户?
  htpasswd
-b .passwd leapsoul phpdev --------用户名为:leapsoul 密码为:
phpdev
  去掉c选项,即可在第一个用户之后添加第二个用户,依此类推
3、如何不更新密码文件,只显示加密后的用户名和密码?

htpasswd -nb leapsoul phpdev

  不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码
4、如何利用htpasswd命令删除用户名和密码?

htpasswd -D .passwd like #删除用户like

5、如何利用htpasswd命令修改密码?

  htpasswd -D .passwd like #先删除like
  htpasswd -b .passwd like like789 #再重新创建用户like,密码设为like789

  即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。
  至此,apache
htpasswd命令的具体介绍和使用方法就介绍完了。
-----------------------------------------------------------
二、配置apache文件:
  1、打开apache
配置文件
  2、找到…块,对test目录访问设置密码保护

#vi /usr/local/apache/conf/extra/httpd-userdir.conf
<Directory /data/www/www_fabao365_sys/> -----------------这里是需要保护的目录
AuthType Basic
AuthName Authorize
AuthUserFile /home/fabxxxxxxxxxxxx/.htpass 绝对路径
require user hlgboboXXXXX --------只有用户hlgboboXXXXX 才能访问
</Directory>

3、保存,并重启apache服务器。
  上述配置只允许hlgboboXXXXX
用户以正确的密码登陆才能访问leapsoul/test/目录
注意事项
  1、设置密码保护的目录路径不要使用反斜杠,使用/
  2、密码文件引用需要使用绝对路径
注:我们公司网站就是采用上述认证方式!
******************************************************************************************************************

方法二:使用.htaccess配置文件对目录设置密码保护教程

  1、使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache
htpasswd命令用法详解
  2、在需要保护的目录下创建创建.htaccess配置文件(比如:/www/manage)
  3、在.htaccess配置文件中的写入配置信息,.htaccess配置文件的写法与apache配置文件有所不同,没有Directory

#vi .htaccess
AuthType Basic
AuthName "WORKING CENTER" #引号中的是说明文字,随便写
AuthUserFile /etc/.passwd #AuthUserFile指的是保存用户名和密码的文件位置(绝对路径)
Require like likeli #用户名为like,密码为likeli(如果这行写为Require valid-user表示指定只有.htpasswd文件包含的合法用户才能访问。)

     4、保存.htaccess配置文件,并将.htaccess配置文件放置

在需要设置密码保护的目录下,比如/data/www/XXXX目录
  上述.htaccess配置功能与第一种方法实现的功能是一样的。
  这时浏览加密的网站就需要输入用户名密码了。
==========================================
.htaccess配置注意事项
  如何开启.htaccess配置功能?
  除了和apache
httpd.conf配置一样需要注意的那些问题之外,容易出现的一个错误是如果配置不正确,会出现.htaccess配置文件不起作用的问题,这是因为apache
AllowOverride指令,决定了你的.htaccess是否能正常开启并启用。从安全性考虑,apache
httpd.conf配置文件中网站根目录的AllowOverride属性一般都配置成不允许任何Override ,即

<Directory />
AllowOverride None
</Directory>

所以要使apache能够正常的读取.htaccess文件的内容,开启.htaccess功能,使.htaccess配置文件中的设置起作用,就必须对网站根目录或者.htaccess 所在目录进行配置,将AllowOverride None更改为AllowOverride All。
 
如果你是虚拟主机用户在使用.htaccess配置文件对目录设置密码保护时,请咨询你的主机商是否允许启用.htaccess,并告知网站目录的绝对路径。-----------------------------------------
apache和.htaccess配置选项说明

  AuthName - 浏览器弹出登录框时显示的被保护的名字,可自行改动。
  AuthType Basic - 认证的类型。
  AuthUserFile - 指向apache htpasswd.exe生成的密码文件,必须是绝对路径
  Require - 设置可以对被保护目录进行访问的用户。
  require valid-user -就是指在 .passwd 中的任何一位用户都可以访问。
  require user username 或 require user username1 username2 username3 - 指定.passwd中的特定的用户可以访问被保护的目录。
  require group groupname - 指定用户组来访问被保护目录。
  设置组的方法是再创建一个.htgroup配置文件:
    groupname1: username1 username2 username3
    groupname2: username1 username3 username4
  再在apache httpd.conf配置文件或者.htaccess配置文件中添加:
  AuthGroupFile C:/.htgroup

至此在本篇PHP教程中介绍使用apache和htaccess对目录设置密码保护配置方法就完成了,这两种方法对提升网站目录的安全性非常有用,特别是htaccess的安全性非常高,虚拟主机用户可以考虑使用。

使用apache和htaccess对目录访问设置密码保护配置教程的更多相关文章

  1. Apache 创建虚拟主机目录和设置默认访问页面

    虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同 ...

  2. 防止apache下面直接输入目录访问文件

    有些项目链接会暴露服务器上面的文件地址,如何访问文件被访问呢 方法一: 在项目入口文件下面新加一个.htaccess文件(apache开启重写模式才会加载这个文件,否则这个文件配置不会生效) 文件中加 ...

  3. MAC apache 2.4 启用目录访问

    1. 打开 httpd.conf 文件,在Options 后面添加 "Indexes",如下: <Directory "/Users/ChenShuo/Docume ...

  4. Apache的.htaccess项目根文件夹伪静态设置规则

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  5. Windows下Apache应用环境塔建安全设置(目录权限设置)

    目的:为Apache,php配置受限制的用户权限.保护系统安全.需要的朋友可以参考下. 环境配置情况: apache安装目录:d:\www-s\apache php目录:d:\www-s\php5 m ...

  6. CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)

    SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服 ...

  7. Apache通过配置.htaccess文件禁止访问.git、.svn等目录

    如果你用过Git.SVN等代码版本控制工具的话,那肯定会知道,如果你需要拉去最新的代码到本地时,会自动生成一个.git或者.svn文件夹,里面包含一些项目相关的信息,如果在部署项目是,把这些文件公开暴 ...

  8. 分类: LINUX apache 访问设置配置

    分类: LINUX 在一次面试的时候被问到apache访问控制的问题.由于以前对apache的访问控制都是通过iptalbes来实现的,没有实际在apache上操作过访问控制.所以只知道个大概: 在主 ...

  9. Apache禁止目录访问的方法

    在学习ThinkPHP(3.2.3)的时候,公共文件夹.应用目录文件夹等都自带或者自动生成index.html的安全文件.但是ThinkPHP文件夹(核心包)却没有这样的设置.那么ThinkPHP核心 ...

随机推荐

  1. 电子面单纸打印时固定高度18cm,到底是多少px

    点评:A4纸竖向打印,html网页页面的宽度设置成多少?这个问题是我们大家所疑惑的,于是网上搜集整理下,希望可以帮助你们 最近开发项目时遇到了网页打印的问题,这是问题之二,打印宽度设置 在公制长度单位 ...

  2. My WelcomeApplet

    import java.applet.*; import java.awt.*; import java.awt.event.*; public class WelcomeApplet extends ...

  3. phonegap文件,目录操作以及网络上传,下载文件(含demo)

    正在做一个跨平台的应用,需要使用phonegap进行文件的一些基本操作. 需求如下:可以选择本地图片,或者从相机选择图片,并进行显示在本地,然后上传到服务器,以及可以从服务器下载图片显示出来,如果本地 ...

  4. 【解决】AgentSVN不能输入用户名/密码的问题

    在Microsoft SQL Server Management Studio中使用AgentSVN时,在完成如下图中配置时, 会提示认证失败错误.其原因是没有输入SVN用户和密码.但问题是此界面中没 ...

  5. XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 安装PAServer ...

  6. Debian 7.6 新编译内核 3.15.6 开机加载黑屏

    需要手动加载 fbcon 这个模块,或者编译内核的时候,Framebuffer Console support 编译进内核(后者没测试过).加在模块只要修改/etc/default/grub文件或者/ ...

  7. FreeBSD 10 中文环境

    中文字体位置 FontPath        "/usr/local/lib/X11/fonts/misc/:unscaled" FontPath        "/us ...

  8. windows与OSX双操的时区-黑苹果之路

    问题由来已久,原因好像是windows识别时间的方式跟OSX不一样,方法如下: 1,改苹果系统时区为冰岛 2,改window系统的注册表 在管理员cmd下运行 Reg add HKLM\SYSTEM\ ...

  9. android 程序开机自启动

    今天遇到程序开机自启动,然后查了一下,很简单,就记录一下. 开机自启动,一般我们是开启启动一个广播,然后在广播里启动Activity或者别的服务. 我们要做的很简单,就是在AndroidManifes ...

  10. oracle创建包后执行报错:object omgmig.test_package is invalid.

    今天学习了一下oracle的包的写法,然后碰到这么个问题.包声明和包主体都正确,但是就是执行报错:object omgmig.test_package is invalid. 这是会报错的sql,看起 ...