1

我的网站上有一个目录,我需要确保除了我自己之外没有人可以进入。从我所做的阅读来看,似乎有两种方法可以保护目录:

  1. 使用 .htaccess 文件对目录进行密码保护
  2. 拒绝访问除我自己以外的所有 IP 地址访问目录,也使用 .htaccess 文件

我需要尽可能安全地保护目录中的文件,所以我想我会使用这两种方法进行双重保护。

问题1:我错过了什么吗?(即我可以添加另一层保护吗?)

问题 2:我需要在 .htaccess 文件中放入什么才能使上述内容正常工作?

4

2 回答 2

5

您的 .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

于 2012-07-09T01:17:15.760 回答
2

假设您正在运行 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

于 2012-07-09T01:02:35.927 回答