通过密码保护网站文件、目录,限制IP地址

详细说明如何通过Apache的.htaccess实现密码保护网站文件、目录,限制IP地址

基础知识:
下面提到的 AuthUserFile /home/path/.htpasswd ,用于指定密码文件.htpasswd, 该文件需要手工建立。 /home/path 是用于存放 .htpasswd 文件的目录,相应修改。
Google下能找到很多相关说明,也可以在线生成 .htpasswd 密码文件,例如:http://tools.dynamicdrive.com/password/

这些代码需要保存到 .htaccess 文件,并置于需要保护的目录下。

基本的密码保护方法:

# basic password protection

AuthUserFile /home/path/.htpasswd
AuthName "Username and password required"
AuthType Basic

Require valid-user

仅某些IP可以访问,其它的需要输入密码:

# password protect excluding specific ips

AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
AuthType Basic
Require valid-user
Order Deny,Allow
Deny from all
Allow from localhost
Allow from 111.222.333.444
Allow from 555.666.777.888
Satisfy Any

仅某些IP段的用户访问需要密码,其它IP的用户无需密码:

# password protect only for specified ips

AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
AuthType Basic
Require valid-user
Order Allow,Deny
Allow from all
Deny from 111.222.333.444
Deny from 555.666.777.888
Satisfy Any

密码保护单个文件:

# password protect single file


AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
Require valid-user
AuthType Basic

其中 protected.html 是需要输入密码才能访问的文件。

密码保护多个文件:

# password protect mulitple files


AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
Require valid-user
AuthType Basic


上面指定 “protected.html” 和 “passwords.txt” 文件需要密码才能打开。同样可以加上更多的文件。

密码保护多种文件类型:

# password protect mulitple file types


AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
Require valid-user
AuthType Basic

这样就密码保护了这些类型的文件:.inc, .txt, .log, .dat, .zip, .rar。

密码保护除了某个文件外的所有文件:

# password protect everything except a single file

AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
Require valid-user
AuthType Basic

Order Deny,Allow
Deny from all
Allow from 123.456.789
Satisfy any

这样就只有访问 open-access.html 这个文件不需要密码,该文件可以是保存在某个子目录中。

密码保护除了某些文件外的所有文件:

# password protect everything except specified files

AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
Require valid-user
AuthType Basic

Order Deny,Allow
Deny from all
Allow from 123.456.789
Satisfy any

这样就密码保护除了“open-access-1.html”, “open-access-2.html”, “open-access-3.html” 外的所有文件。

发表评论

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