我的网站上有一个目录,我需要确保除了我自己以外没有人可以进入。从我所做的阅读中,看起来有两种方法来保护目录:
我需要尽可能安全地保护目录中的文件,所以我想我会使用这两种方法进行双重保护。
问题1:我错过了什么吗? (即我可以添加另一层保护吗?)
问题2:我需要在.htaccess文件中放置什么才能使上述工作正常?
答案 0 :(得分: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
文件位于您要保护的目录中。
您还需要一个.htpasswd文件(如上所示/usr/local/nate/safe_place/.htpasswd
),其中包含文本用户名:password_hash。因此,如果我们使用“nate”作为示例并使用“secret”作为密码(请不要使用它),您将得到:
nate:XmN6pwFyy3Il2
您可以使用此工具生成自己的密码文件:http://www.tools.dynamicdrive.com/password/
确保没有人可以阅读您的.htpasswd
文件。另请注意,基本身份验证本身不进行加密。如果您使用的是开放式网络,任何人都可以通过网络查看您的密码和所有秘密数据。如果真的那么秘密,请务必通过https访问您的网站。
您可以在此处详细了解.htaccess
个文件:
http://www.javascriptkit.com/howto/htaccess.shtml
答案 1 :(得分: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