【问题标题】:How can I limit user's access for a particular URL(folder)?如何限制用户对特定 URL(文件夹)的访问?
【发布时间】:2015-12-15 02:58:38
【问题描述】:
我现在正在研究 Web 开发的一些安全部分。
我现在正在阅读的这本书告诉我,我需要设置一些安全过程来保护特定文件夹中的文件,我认为这是一个好主意。
问题是这本书没有教我如何设置这个过程。
如果我在根文件夹下有 admin 文件夹,那么如何让 admin 文件夹在要求显示其内容时询问用户名和密码?请教我它的命令!
图片:http://ecsite2.yongsookim.com/images/qu.png
PS:我在CentOS6.5上使用php,应该使用命令。
【问题讨论】:
标签:
php
authentication
directory
centos6
【解决方案1】:
只要您使用的是 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,但仅此而已。现在,每当您尝试将浏览器指向该文件夹时,系统都会提示您输入用户名和密码,就像在屏幕截图示例中一样。
Web 上有许多资源,它们很可能更详尽地解释了除了单个用户之外您还有哪些其他选择以及如何选择。你甚至可以让它需要一个普通的 linux 用户,或者很多用户。您还可以分配用户组。查看这些页面以获得更深入的答案:
Apache.org - Authentication and Authorization
GoDaddy How to Password-Protect a Directory using .htaccess