这里涉及的配置方式主要是使用 .htaccess 文件, 要使用.htaccess文件,则必须设置服务器以允许在这些文件中使用认证指令,即用AllowOverride指令指定哪些指令在针对单个目录的配置文件中有效。首先将对应的AllowOverride这样设置:
AllowOverride All
首先,应该创建一个用于认证的密码文件,并且这个文件不应该置于DocumentRoot目录下,以避免被下载。例如可以创建/etc/apache2/passwd/目录,并将密码文件置于其下。
Apache2 为我们提供了/usr/bin/htpasswd命令用于创建密码文件,命令的具体操作方法请参阅htpasswd的手册页:http://httpd.apache.org/docs/1.3/programs/htpasswd.html 这里仅做简单的应用。
首次添加用户需要使用 ?c 参数,以创建密码文件,再次添加用户则不要 -c参数了:
# mkdir /etc/apache2/passwd
# htpasswd -c /etc/apache2/passwd/passwords tony
New password: [mypassword]
Re-type new password: [mypassword]
Adding password for user tony
# htpasswd /etc/apache2/passwd/passwords etony
New password: [mypassword]
Re-type new password: [mypassword]
Adding password for user etony
必要时,使用htpasswd 命令需要加入完整路径/usr/bin/htpasswd
修改对应.htaccess文件,加入如下内容:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/apache2/passwd/passwords
Require user tony
让我们逐个解释这些指令。
AuthType指令选择对用户实施认证的方法,最常用的是由mod_auth_basic提供的Basic 。AuthName指令设置了使用认证的域(Realm),它起两个作用,首先,此域会出现在显示给用户的密码提问对话框中,其次,也帮助客户端程序确定应该发送哪个密码。
AuthUserFile指令设置了密码文件的位置,也就是刚才我们用htpasswd建立的文件。
最后,Require指令设置了允许访问受保护区域的用户。
上述指令只允许一个人(一个叫tony的用户)访问这个目录,但是多数情况下。都需要允许多人访问,这时可以调整Require选项为:
Require valid-user
可以允许密码文件中的所有用户使用正确的密码进行访问。
可能存在的问题
由于采用了Basic认证的方法,每次向服务器请求甚至刷新一个受保护的页面或图片时都必须校验用户名和密码,为此,必须打开密码文件并逐行搜索用户名,因此,服务器响应速度会受一些影响,受影响的程度与密码文件的大小成正比。
所以,对密码文件中的用户总数存在一个实际上的上限,此上限取决于特定的服务器机器的性能,但是一般有几百个用户就会对响应速度有非常明显的影响,在这种情况下,可以考虑用其他认证方法。
Reference Link:
http://www.itlearner.com/code/debian-apache2/debian-apache2-10.html
分享到:
相关推荐
2. 访问控制:可以使用 AuthUserFile、AuthGroupFile、AuthName、AuthType 等指令来对特定的目录或文件进行访问控制。 3. URL 重写:可以使用 RewriteRule 等指令来对 URL 进行重写。 四、.htaccess 文件的注意事项...
Apache的.htaccess文件是配置文件,用于控制Apache服务器的行为,包括URL重写规则。这些规则通常包含在.htaccess文件中,该文件位于网站的根目录或子目录下,可以对特定的目录应用规则。 然而,IIS默认并不支持....
.htaccess文件是一个Apache服务器中的配置文件,它可以用来控制当前目录下的文件访问权限、缓存设置、URL重写等功能。.htaccess文件可以放在网站的根目录下,也可以放在子目录下,以控制该目录下的文件访问权限。 ....
Apache 2支持`.htaccess`文件以及实现目录加密是一个实用的功能,这可以帮助你保护网站的特定部分,确保只有授权用户才能访问。以下是如何操作的详细步骤: 1. **开启Apache对`.htaccess`的支持** Apache 2默认...
4. **允许/阻止访问**:使用 `Order`, `Allow`, `Deny` 指令组合,可以控制哪些IP地址或用户可以访问特定目录。 5. **禁止目录列表**:通过 `Options -Indexes` 防止目录被自动列出。 6. **配置默认文档**:使用 `...
.htaccess 文件,全称为 Hypertext Access,是Apache服务器中的一个配置文件,用于对网站进行局部设置,以实现URL重写、访问权限控制、错误页面定制等功能。本文将深入探讨如何使用 .htaccess 在线生成器——...
总结来说,`.htaccess`文件是Apache服务器上的一个重要配置工具,它使网站管理员能够在不需要服务器管理员权限的情况下进行多种配置调整,提高网站的可用性、安全性和性能。正确理解和使用`.htaccess`可以极大地增强...
`.htaccess` 文件是 Apache HTTP 服务器中一种用于在目录级别进行配置的文件,它可以用来修改网站的行为,比如重写 URL、控制访问权限、设定 MIME 类型等。然而,使用 `.htaccess` 文件可能会对服务器性能产生负面...
`.htaccess` 文件的使用可以极大地方便网站管理和优化,比如实现URL重定向、自定义错误页面、设置访问权限等。在本教程中,我们将重点探讨 `.htaccess` 文件如何实现301重定向以及自定义404错误页面。 首先,301...
首先,`.htaccess`文件主要功能在于提供一种灵活的方式去调整服务器的行为,如重定向用户、设置自定义错误页面、控制目录访问权限等。它对于那些没有直接访问服务器配置文件权限的用户尤其有用。`.htaccess`文件通常...
2. 访问控制:设置特定目录的访问权限,如禁止或允许某些IP地址、用户代理(如浏览器类型)访问,或者要求用户提供密码保护。 3. 错误页面自定义:通过 ErrorDocument 指令,可以指定服务器返回自定义的错误页面,...
`.htaccess`是Apache服务器配置中的一个非常重要的文件,它允许你在网站的各个目录层级上进行自定义配置,实现对网站行为的个性化控制。这篇文章主要讲述了`.htaccess`的一些核心功能和常见用法。 首先,`.htaccess...
例如,它能用来控制目录访问权限、URL重写、错误页面定制等。然而,如果服务器未正确配置或过滤,攻击者可能上传包含恶意代码的.htaccess文件,从而篡改目录的配置,造成安全漏洞。 攻击者通常会采取以下步骤来利用...
通常这个文件位于`/etc/apache2/sites-enabled/000-default`,用户需要编辑这个文件,并将特定目录下的`AllowOverride`属性值设置为`All`,这表示这个目录下的.htaccess文件中所有指令都将被启用。 4. 在XAMPP的...
2. **权限控制**:我们可以设置密码保护,限制特定IP访问,或者根据文件类型设定不同的访问权限。 3. **错误页面定制**:自定义404错误页面,提供更有针对性的错误提示,引导用户找到正确信息。 4. **缓存控制**:...
然而,部分主机服务商可能会出于安全考虑或资源限制,选择不开放`.htaccess`的使用权限。一个判断依据是,如果主机支持文件夹的密码保护功能,那么它很可能是通过`.htaccess`文件实现的。若对此有疑问,最佳做法是...
权限提升:在某些情况下,上传的.htaccess文件能帮助攻击者提升权限,比如允许执行原本禁止执行的文件或访问受限的目录。 目录遍历:利用.htaccess重定向或修改访问规则,攻击者可能能够访问到服务器上原本不可达的...
.htaccess主要的作用有:URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、...
Apache 服务器配置 Web 页面访问权限 ...我们可以使用 AllowOverride All 配置来控制访问权限,然后编辑.htaccess 文件以便指定访问权限。最后,我们需要生成用户密码文件并重启 Apache 服务器,以便使配置生效。
个人档案 查看文章 .htaccess怎么用2007-05-16 14:04(文章来源)http://www.dnpark.com.cn/news/mm/www/1179329504375ZKlMSgYr.html<br><br>Apache服务器的.htaccess是一个非常强大的分布式配置文件,学会使用....