
密码保护目录让您可以通过HTTP身份验证限制网站特定文件夹的访问权限。当访客导航至受保护目录时,浏览器会立即弹出登录对话框,要求输入用户名和密码。只有拥有正确凭据的用户才能继续访问。这是一种快速的服务器级安全措施,无需编写任何应用程序代码,适用于任何类型的网页内容。
什么是密码保护目录?
Apache 的内置身份验证系统(.htaccess + .htpasswd)为目录保护提供支持。当您在 DirectAdmin 中保护某个目录时,系统会自动为您创建和管理这些文件。浏览器会显示一个原生身份验证对话框,仅靠猜测 URL 无法绕过——服务器会持续返回 401未授权 响应,直到提供有效凭据为止。
常见使用场景
- 管理区域 — 在 WordPress
/wp-admin/或其他后台界面前添加额外的身份验证层 - 私人文件 — 保护包含机密文件、合同或客户交付物的文件夹
- 测试站点 — 防止搜索引擎和公众访问网站的开发版本
- 团队门户 — 与小团队共享资源,无需构建完整的登录系统
- 测试访问 — 在正式上线前,让特定用户提前访问未发布的功能或内容
如何在 DirectAdmin 中设置密码保护
- 登录 DirectAdmin,进入 高级功能。
- 点击 密码保护目录。
- 您将看到文件浏览器。导航至您希望保护的文件夹,例如
public_html/staging。 - 点击文件夹名称将其选中,然后点击 保护此目录。
- 在 验证名称 字段中输入受保护区域的名称——此文字将显示在浏览器的登录对话框中(例如"仅限会员"或"测试环境")。
- 点击 保存 以应用保护设置。
添加用户名和密码
保存保护设置后,您需要至少添加一个可以访问该目录的用户:
- 在同一页面向下滚动至 用户 区域。
- 为授权用户输入 用户名 和 密码。
- 点击 添加用户。
- 如有需要,重复上述步骤添加更多用户。
如需更改用户密码,只需使用相同的用户名和新密码再次添加——系统将自动更新。
为单个目录添加多个用户
您可以为单个受保护目录添加任意数量的用户,每个用户拥有独立的用户名和密码。这对团队协作环境非常实用——不同成员可以各自访问,同时可以撤销个人权限而无需更改共享密码。只需返回目录保护设置,按需添加或删除用户即可。
移除保护
如需移除目录的密码保护,请在 DirectAdmin 中进入 密码保护目录,选择受保护的文件夹,然后点击 取消保护此目录。身份验证要求将立即移除,目录将恢复为公开可访问状态。
手动使用 .htaccess 和 .htpasswd
如需更精细的控制,您可以使用 .htaccess 和 .htpasswd 文件手动设置目录保护。在您要保护的目录中的 .htaccess 文件中添加以下指令:
AuthType Basic
AuthName "Protected Area"
AuthUserFile /home/username/.htpasswd
Require valid-user
使用 htpasswd 命令或在线生成器创建包含哈希密码的 .htpasswd 文件。手动方式提供更大的灵活性——例如,您可以仅保护目录中特定类型的文件,同时保持其他文件公开访问。
为何在设置密码保护前必须启用 SSL
HTTP基本身份验证以 Base64 编码文本的形式在请求头中传输凭据。Base64 是一种编码方案,而非加密——任何拦截 HTTP 流量的人都可以在毫秒内使用免费工具将其解码。这意味着,如果您的网站通过明文 HTTP 运行,同一网络中的任何人(例如咖啡店、酒店或机场的共享 Wi-Fi)都可能捕获并读取团队成员在登录对话框中输入的用户名和密码。
解决方案很简单:先安装 SSL 证书,使所有通信通过 HTTPS 进行。启用 TLS 加密后,整个 HTTP 交换过程——包括 Base64 编码的凭据——在离开浏览器前都被封装在加密隧道中。即使有人拦截流量,他们看到的也只是密文。在 AsiaGB 主机服务上,所有域名均可通过 DirectAdmin 的 SSL 区域免费获取 SSL 证书,启用 HTTPS 无需额外费用。
HTTP基本身份验证的局限性
密码保护目录是一种便捷的低代码安全层,但存在一些您应了解的固有限制:
- 无法真正退出登录:浏览器会在会话期间缓存凭据。除非关闭浏览器标签页或窗口,否则没有退出按钮,这在共享电脑上存在安全风险。
- 无暴力破解防护:默认情况下,Apache 不限制登录尝试频率。恶意攻击者可以自动尝试数千种密码组合。对于高价值区域,建议将密码保护与 IP 白名单结合使用,或考虑采用具有频率限制的应用级身份验证。
- 审计记录有限:Apache 的访问日志记录了哪些受保护 URL 被哪个 IP 访问,但除非配置了额外的日志模块,否则不会记录具体是哪个用户名发出的请求。
- 不适合普通用户:浏览器原生登录对话框外观过时且无法自定义。对于面向客户的区域,具备会话管理、CSRF 令牌和账户恢复功能的应用程序登录页面才是正确选择。
尽管存在这些限制,配合 HTTPS 使用的HTTP基本身份验证对于限制开发者工具、测试环境、内部仪表板以及其他受众规模小且具备一定技术背景的后台区域来说,仍是可靠的选择。
上线前务必保护测试站点:在开发期间,应在测试站点公开访问之前始终设置密码保护。搜索引擎持续抓取互联网——若不加保护,未完成的测试站点可能被收录,导致重复内容惩罚,同时暴露机密开发内容。请在创建测试环境的同时立即设置保护,而非等到上线前才处理。