【问题标题】:Protecting Sub folder using .htaccess and .htpasswd in PHP/Html在 PHP/Html 中使用 .htaccess 和 .htpasswd 保护子文件夹
【发布时间】:2025-11-27 03:50:01
【问题描述】:

在我的网站中有子文件夹,所以我尝试使用 .htaccess.htpasswd 保护该文件夹文件。

  • 根文件夹

  • 根文件

    • 子文件夹

    • 子文件夹文件

    • .htaccess

    • .htpasswd

-- 根文件

.htaccess 代码如下所示

AuthType Basic
AuthName "My Protected Area"
AuthUserFile ./.htpasswd
Require valid-user

.htpasswd 代码如下所示

test:pass@word1

当我输入http://10.10.10.11/website/subfolder/test.html 时提示输入密码,我输入但它抛出错误。见下图。

截图视频: 请建议这样做。

【问题讨论】:

  • 在 .htpasswd 中输入这个用户名:pass@word1 not test:pass@word1 - 在 hashkey 中转换密码
  • 您需要为您的子文件夹配置.htaccess
  • 保护什么?
  • 一个内部服务器错误之后提示您输入凭据通常意味着.htpasswd 文件的路径不正确。您的“根文件夹”是实际的服务器文件系统根目录 - 还是只是您可以使用 FTP 或 SSH 帐户访问的“根目录”?如果为AuthUserFile 指定的路径不是绝对的,它将被视为相对于设置为ServerRoot 的路径
  • @GiacomoM,如果打开任何页面的子文件夹文件,需要认证。

标签: php .htaccess passwords


【解决方案1】:

.htaccess

AuthType Basic
AuthName "restricted area"
AuthUserFile ./.htpasswd
require valid-user

如果你不想使用在线密码生成器,你可以使用 openssl

openssl passwd -apr1 pass@word1

然后将生成的密码放入.htpasswd,格式为:

用户名: 示例:

.htpasswd

username:$apr1$h81U4v3.$8Msypa0Kx2hQ/C0948BuV1

【讨论】:

  • 复制 .htpasswd 并粘贴到你的 .htpasswd 文件中。
  • Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.6
最近更新 更多