我现在正在学习web开发的一些安全部分。
我正在读的那本书告诉我,我需要设置一些安全程序来保护特定文件夹中的文件,我认为这是个好主意。
问题是这本书没有教我如何设置这个过程。
如果我在根文件夹下有admin文件夹,那么我如何使admin文件夹在被要求显示其内容时询问用户名和密码?请教我使用它的命令!
图片:http://ecsite2.yongsookim.com/images/qu.png
PS:我在CentOS6.5上使用php,应该使用命令。
只要你在使用Apache,你就可以使用。htaccess文件,放在你想要保护的目录中。
有几个步骤,所以我将尝试逐一介绍并简要解释每一个步骤:
-
您需要确保在您的httpd.conf文件中启用
AllowOverride
或AuthConfig
,通常在服务器/etc
文件夹下的apache2或httpd目录中找到。 -
在web可访问目录之外创建一个密码文件。您可以将它放在Apache文件夹中。下面是一个例子:
htpasswd -c /etc/apache2/.htpasswd yourusername
当然,将您的用户名设置为您喜欢的任何用户名。然后它会提示你输入密码,然后验证。 -
使用您喜欢的文本编辑器创建和编辑
.htaccess
文件。我使用nano,所以你的第一个命令是nano .htaccess
(确保你已经在目录中)。 - 输入如下行:
AuthType Basic
Authname "My Secured Folder - Authorized Access Only"
AuthUserfile /etc/apache2/.htpasswd
Require user yourusername
-
保存文件并退出
-
您可能需要重新启动apache,但这就是它的全部。现在,每当你尝试将浏览器指向该文件夹时,就会像截图示例中一样提示你输入用户名和密码。
-
在网络上有很多资源,最有可能做一个更彻底的工作,解释如何和哪些其他选项,除了一个单一的用户。您甚至可以让它需要一个普通的linux用户,或许多用户。您还可以分配用户组。
Apache.org -身份验证和授权
GoDaddy如何使用。htaccess对目录进行密码保护