使用.htaccess对目录进行密码保护
2010-11-23 17:24
766 查看
尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码保护。尽管JavaScrip等也能做到,但只有.htaccess具有完美的安全性(即访问者必须知晓密码才可以访问目录,并且绝无“后门”可走)。
一、创建.htaccess文件:
创建.htaccess文件也许会给你带来一些困难。因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)中无法接受这样的文件名。
创建.htaccess文件有一下两种方法:
1、在ms-dos中,使用以下命令
引用
ren filename.xxx .htaccess
2、将其上传到服务器上,直接使用FTP软件来重命名。
利用.htaccess将一个目录加上密码保护分两个步骤:
1、在.htaccess文档里加上几行适当的代码:
引用
AuthName MemberPage
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user
AuthName --是浏览器弹出登录框时显示的被保护的名字,可自行改动MemberPage。
AuthType Basic -- 不要进行改动。
AuthUserFile -- /full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的绝对服务器路径。
Require -- 设置可以对被保护目录进行访问的用户。
Ⅰ:require valid-user --就是指在 .htpasswd 中的任何一位用户都可以访问。
Ⅱ:require user username 或 require user username1 username2 username3 --
指定.htpasswd中的特定的用户可以访问被保护的目录。
Ⅲ:require group groupname --指定用户组来访问被保护目录。
设置组的方法是再创建一个.htgroup文件,内容如下:
groupname1: username1 username2 username3
groupname2: username1 username3 username4
再在.htaccess文件中添加以下内容:
引用
AuthGroupFile /full/path/to/.htgroup
说明:.htpasswd 是一个包含用户名和密码的文档,可以使用文本编辑器进行创建,创建后,在.htpasswd中添加用户名和密码,该文件中每一句代表一个用户,用户名和加密后的密码以冒号分隔,(密码必须加密后才可以使用,加密方法一般是使用crypt,如果使用的是apache for win32版本,要使用......./apache/bin/htpasswd.exe来创建使用md5加密的文件)
2、将.htaccess文件放进要保护的目录下
.htaccess和.htpasswd文件要以ASCII模式上传到服务器。
二、使用自定义的错误页面:
任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:
引用
ErrorDocument errornumber /file.html
举例来说,如果根目录下有一个nofound.html文件,使用nofound.html作为404 error的页面:
引用
ErrorDocument 404 /notfound.html
如果文件不在网站的根目录下,只需把路径设置为:
引用
ErrorDocument 500 /errorpages/500.html
注意:不要将自定义的错误页面(如:500.html)放到被保护的目录下。
以下是一些最常用的错误:
引用
401 - Authorization Required 需要验证
400 - Bad request 错误请求
403 - Forbidden 禁止
500 - Internal Server Error 内部服务器错误
404 - Wrong page 找不到页面
三、.htaccess说明:
在apache for win32的版本中,httpd.conf中默认的是:
<Directory "C:/Apache/Apache2/htdocs">
......
AllowOverride None
......
</Directory>
需要把None改为All以后,重启apache服务器,被保护目录下的.htaccess才可以正常运行。
一、创建.htaccess文件:
创建.htaccess文件也许会给你带来一些困难。因为.htaccess是一个古怪的文件名(它事实上没有文件名,只有一个由8个字母组成的扩展名),而在一些系统(如windows 3.1)中无法接受这样的文件名。
创建.htaccess文件有一下两种方法:
1、在ms-dos中,使用以下命令
引用
ren filename.xxx .htaccess
2、将其上传到服务器上,直接使用FTP软件来重命名。
利用.htaccess将一个目录加上密码保护分两个步骤:
1、在.htaccess文档里加上几行适当的代码:
引用
AuthName MemberPage
AuthType Basic
AuthUserFile /full/path/to/.htpasswd
Require valid-user
AuthName --是浏览器弹出登录框时显示的被保护的名字,可自行改动MemberPage。
AuthType Basic -- 不要进行改动。
AuthUserFile -- /full/parth/to/.htpasswd则应该替换为指向.htpasswd文件(后面详述该文档)的绝对服务器路径。
Require -- 设置可以对被保护目录进行访问的用户。
Ⅰ:require valid-user --就是指在 .htpasswd 中的任何一位用户都可以访问。
Ⅱ:require user username 或 require user username1 username2 username3 --
指定.htpasswd中的特定的用户可以访问被保护的目录。
Ⅲ:require group groupname --指定用户组来访问被保护目录。
设置组的方法是再创建一个.htgroup文件,内容如下:
groupname1: username1 username2 username3
groupname2: username1 username3 username4
再在.htaccess文件中添加以下内容:
引用
AuthGroupFile /full/path/to/.htgroup
说明:.htpasswd 是一个包含用户名和密码的文档,可以使用文本编辑器进行创建,创建后,在.htpasswd中添加用户名和密码,该文件中每一句代表一个用户,用户名和加密后的密码以冒号分隔,(密码必须加密后才可以使用,加密方法一般是使用crypt,如果使用的是apache for win32版本,要使用......./apache/bin/htpasswd.exe来创建使用md5加密的文件)
2、将.htaccess文件放进要保护的目录下
.htaccess和.htpasswd文件要以ASCII模式上传到服务器。
二、使用自定义的错误页面:
任何页面错误代码(像404找不到页面),都可以通过在.htaccess文件里加入下面的文字将其变成自定义页面:
引用
ErrorDocument errornumber /file.html
举例来说,如果根目录下有一个nofound.html文件,使用nofound.html作为404 error的页面:
引用
ErrorDocument 404 /notfound.html
如果文件不在网站的根目录下,只需把路径设置为:
引用
ErrorDocument 500 /errorpages/500.html
注意:不要将自定义的错误页面(如:500.html)放到被保护的目录下。
以下是一些最常用的错误:
引用
401 - Authorization Required 需要验证
400 - Bad request 错误请求
403 - Forbidden 禁止
500 - Internal Server Error 内部服务器错误
404 - Wrong page 找不到页面
三、.htaccess说明:
在apache for win32的版本中,httpd.conf中默认的是:
<Directory "C:/Apache/Apache2/htdocs">
......
AllowOverride None
......
</Directory>
需要把None改为All以后,重启apache服务器,被保护目录下的.htaccess才可以正常运行。
相关文章推荐
- 使用apache和htaccess对目录访问设置密码保护配置教程
- Nginx Http认证 实现访问网站或目录密码认证保护 | 使用 HttpAuthBasicModule 模块
- 开启.htaccess目录密码保护(Litespeed安装详解)
- 使用Apache .htaccess 进行访问保护
- Windows环境之apache使用.htaccess保护目录
- 使用apache htpasswd生成加密的密码文件,并使用.htaccess控制目录访问
- 使用MD5对存放在数据库中用户密码进行保护
- 使用Monitor对资源进行保护(二)
- "Mac OS X"想要进行更改。键入管理员的名称和密码以允许执行此操作("Mac OS X"想使用系统钥匙串)
- 使用FindFirstFile和FindNextFile对给定目录下所有文件进行广度优先遍历
- nginx中给目录增加密码保护实现程序
- "Mac OS X"想要进行更改。键入管理员的名称和密码以允许执行此操作("Mac OS X"想使用系统钥匙串)
- 使用JS进行目录上传(相当于批量上传)
- 使用微软企业库5.0进行WCF服务边界上的异常保护
- 在Nginx用htpasswd对网站进行密码保护的设置方法
- 使用库进行目录遍历
- java中使用MD5对密码进行加密
- 在使用ICSharpCode.SharpZipLib进行目录压缩后,再解压缩是提示这个错误Size mismatch: 4294967295;126976 70202;126976
- 使用python 对图片进行水印,保护自己写的文章
- IdentityServer4 中文文档 -10- (快速入门)使用密码保护API