我的网站上有一个目录,我需要确保除了我自己之外没有人可以进入。从我所做的阅读来看,似乎有两种方法可以保护目录:
- 使用 .htaccess 文件对目录进行密码保护
- 拒绝访问除我自己以外的所有 IP 地址访问目录,也使用 .htaccess 文件
我需要尽可能安全地保护目录中的文件,所以我想我会使用这两种方法进行双重保护。
问题1:我错过了什么吗?(即我可以添加另一层保护吗?)
问题 2:我需要在 .htaccess 文件中放入什么才能使上述内容正常工作?
您的 .htaccess 文件将包含:
AuthUserFile /usr/local/nate/safe_place/.htpasswd
AuthGroupFile /dev/null
AuthName "Protected Files"
AuthType Basic
require user nate
order deny, allow
deny from all
allow from 127.0.0.1
该.htaccess
文件位于您要保护的目录中。
/usr/local/nate/safe_place/.htpasswd
您还需要一个包含文本 username:password_hash的 .htpasswd 文件(如上所示)。因此,如果我们使用“nate”作为示例并使用“secret”作为密码(请不要使用它),您会得到:
nate:XmN6pwFyy3Il2
您可以使用此工具生成自己的密码文件: http ://www.tools.dynamicdrive.com/password/
只要确保没有人可以读取您的.htpasswd
文件。另请注意,基本身份验证本身不加密。如果你在一个开放的网络上,任何人都可以看到你的密码和通过网络传输的所有秘密数据。如果确实是那个秘密,请确保您通过 https 访问您的网站。
您可以在此处阅读有关.htaccess
文件的更多信息:
http ://www.javascriptkit.com/howto/htaccess.shtml
假设您正在运行 Apache 并且有一个允许使用文件的AllowOverride
指令,那么以下应该是您的一个很好的起点:.htaccess
<Limit>
<Limit GET>
Order deny,allow
Deny from all
Allow from IP_ADDRESS_HERE
</Limit>
更多文档<Limit>
:http ://httpd.apache.org/docs/current/mod/core.html#limit
和访问控制:http ://httpd.apache.org/docs/2.2/howto/access.html