如何创建目录保护

一、应用场景

1111在浏览器中,输入http://www.100.com/whoami_/,弹出对话框要求验证用户名、密码。
http://www.100.com 本地设置了Host,并非真正的www.100.com,-_-!
/whoami_/ 数据库管理PHPMyAdmin目录,所以目录的安全级别要求很高。

二、编辑Hpptd.conf文档

# vim /etc/httpd/conf/httpd.conf 
# 请先确定以下几行是存在的
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

# 在不受影响的地方加入下面这一段:
<directory "/var/www/html/whoami_/">
    AllowOverride AuthConfig
    Order allow,deny
    Allow from all
</Directory>

#重新启动httpd服务
# service httpd restart

三、创建.htaccess文档

# vim /var/www/html/whoami_/.htaccess 
# 只要加入底下几行即可
authname "Protect Directroy"
authtype basic
authuserfile /var/www/apache.passwd
require user taisha discuz
  • AuthName:提示语.
  • AuthType:认证的类型,这里仅列出Apache预设的类型,即[basic]
  • AuthUserFile:这里保护目录所使用的账户、密码的设置文件,文件的账号不限在/etc/passwd出现的用户,可以随意设置,另外这个文件不要放在apache可以浏览到的目录内,避免被窃取。
  • require:后面包括了允许访问的账号,多账号使用空格分隔;如果要让apache.passwd中的所有账号都能够访问,可以设置成 require valid-user

四、创建apache.passwd文档

命令:htpasswd [-cmdD] 密码文件路径 使用者账户

选项与参数:

  • -c:建立密码文件,如果密码文件已经存在,则原本的资料会删除,所以如果只是新增使用者(密码文件已存在),不用加-c参数;
  • -m:不使用预设的Crypt加密,改用md5方式加密密码;
  • -d:使用更复杂的SHA方式加密;
  • -D:删除使用者
# htpasswd -c /var/www/apache.passwd taisha
# htpasswd /var/www/apache.passwd discuz

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>