天高云淡 发表于 2018-11-26 12:51:38

apache对目录设置密码保护

  
1、在apache安装目录bin下找到htpasswd.exe
2、在命令行方式下输入htpasswd -help命令,显示apache htpasswd命令帮助信息,注意需要在htpasswd.exe的当前目录下,即Apache\bin目录下使用htpasswd命令
apache htpasswd命令用法及选项说明

apache htpasswd help帮助命令说明
apache htpasswd命令用法
  
  htpasswd [-cmdpsD] passwordfile username
  
  htpasswd -b passwordfile username password
  
  htpasswd -n username
  
  htpasswd -nb username password
apache htpasswd命令选项参数说明
  -c创建一个加密文件
  -n不更新加密文件,只将apache htpasswd命令加密后的用户名密码显示在屏幕上
  -m默认apache htpassswd命令采用MD5算法对密码进行加密
  -dapache htpassswd命令采用CRYPT算法对密码进行加密
  -papache htpassswd命令不对密码进行进行加密,即明文密码
  -sapache htpassswd命令采用SHA算法对密码进行加密
  -b在apache htpassswd命令行中一并输入用户名和密码而不是根据提示输入密码
  -D删除指定的用户
  在Windows, NetWare and TPF 系统中 ‘-m’选项是默认的,在使用apache htpasswd命令时可以忽略。在其他系统中,’-p’选项可能不能工作。
apache htpasswd命令用法实例
1、如何利用htpasswd命令添加用户?
  
  htpasswd -bc .passwd www.mrcelite.com php
  在bin目录下生成一个.passwd文件,用户名www.mrcelite.com,密码:123456,默认采用MD5加密方式
2、如何在原有密码文件中增加下一个用户
  
  htpasswd -b .passwd elite phpdev
  去掉c选项,即可在第一个用户之后添加第二个用户,依此类推
3、如何不更新密码文件,只显示加密后的用户名和密码?
  
  htpasswd -nb elite phpdev
  不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码
4、如何利用htpasswd命令删除用户名和密码?
  
  htpasswd -D .passwd elite
5、如何利用htpasswd命令修改密码?
  
  htpasswd -D .passwd elite
  
  htpasswd -b .passwd elite phpdev
  即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。
对目录设置密码保护配置说明
  在本教程中主要介绍两种方法,一种是通过apache httpd.conf配置文件对管理后台目录设置密码保护,适用于具有服务器控制权限的用户,另一种是通过.htaccess配置文件对目录设置密码保护,适用于虚拟主机用户。
apache httpd.conf配置文件对目录设置密码保护教程
1、使用apache htpasswd.exe创建密码文件
2、打开apache httpd.conf配置文件
  3、找到…块,对test目录访问设置密码保护













AuthType Basic

AuthName "WORKING CENTER"

AuthUserFile C:/.passwd

Require user www.mrcelite.com

  4、保存apache httpd.conf,并重启apache服务器。
  上述配置只允许www.mrcelite.com用户以正确的密码登陆才能访问e;web\www\test\目录
注意事项
  
  1、设置密码保护的目录路径不要使用反斜杠,使用/
  2、密码文件引用需要使用绝对路径
使用.htaccess配置文件对目录设置密码保护教程
  1、使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:
apache htpasswd命令用法详解  
2、创建.htaccess配置文件,你可以使用EditPlus新建文件并保存为.htaccess配置文件
  
  3、在.htaccess配置文件中的写入配置信息,.htaccess配置文件的写法与apache配置文件有所不同,没有Directory







AuthType Basic
AuthName "WORKING CENTER"
AuthUserFile C:/.passwd
Require user www.mrcelite.com
  4、保存.htaccess配置文件,并将.htaccess配置文件放置在需要设置密码保护的目录下,比如leapsoul/test/目录
  上述.htaccess配置功能与第一种方法实现的功能是一样的。
  你也可以在浏览器的URL框内以以下方式输入用户名和密码(未加密的)来直接进行访问:
1
http://username:password@www.yourwebsite.com/directory/
.htaccess配置注意事项
  如何开启.htaccess配置功能?
  除了和apache httpd.conf配置一样需要注意的那些问题之外,容易出现的一个错误是如果配置不正确,会出现.htaccess配置文件不起作用的问题,这是因为 apache AllowOverride指令,决定了你的.htaccess是否能正常开启并启用。从安全性考虑,apache httpd.conf配置文件中网站根目录的AllowOverride属性一般都配置成不允许任何Override ,即
1
2
3
4
5


AllowOverride None


  当AllowOverride 设置为 None 时,.htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。所以要使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



页: [1]
查看完整版本: apache对目录设置密码保护