【问题标题】:problem protecting a directory using .htaccess使用 .htaccess 保护目录的问题
【发布时间】:2010-11-15 00:07:47
【问题描述】:

我创建了一个 .htaccess 和 .htpasswd 文件,并将它们存储在我要保护的文件夹中,当我导航到该文件夹​​时,输入后我被要求输入用户名和密码(存​​储在 .htpasswd 文件中)用户名和密码,我收到 500 内部服务器错误。我在 localhost (windows) 和 web 服务器 (我猜是 linux) 上都使用了这些文件,两者都给出了相同的结果。

这是我的 .htaccess 文件:

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
AuthUserFile /.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user 
order deny,allow

【问题讨论】:

  • 可以给我们来自您的 Apache 日志的错误消息吗?
  • @pex:在哪里可以找到错误日志??

标签: .htaccess .htpasswd


【解决方案1】:

我怀疑您的.htpasswd 文件与/bin/usr/home 和其他文件一起位于服务器文件系统的最根目录(而不是在服务于网络的文件系统部分中)浏览器)。

根据 Apache 文档(12),AuthUserFile 需要一个文件路径(就像您在 ServerRoot 中,通常是 /usr/apache 或类似的,并试图从 Unix shell 中找到该文件) .它不能是绝对或相对的 URL。相应地更正您的 .htpasswd 文件路径。

请注意,如果可能,您不应将.htpasswd 文件放在public_htmlhtdocs 文件夹中,因为任何配置错误不仅可能允许未经授权访问您要保护的文件,而且还可能导致授权用户名和哈希密码。

【讨论】:

  • 好的,我现在在 localhost (Windows 7) 上进行测试,AuthUserFile 应该是 C:/wamp/www/.htpasswd 吗?
  • 在将 AuthUserFile 设置为 C:/wamp/www/.htpasswd 后它与我一起工作......但是当我在更改路径后上传文件时,它没有使用 x10hosting 免费服务t work. Note: Im .
  • @sikas:您的网络主机支持 PHP,对吧?尝试上传一个只包含&lt;?php phpinfo(); 的PHP 文件,看看SCRIPT_FILENAME 是什么。这应该可以帮助您确定您的网站在服务器上的位置。
  • 我已经这样做了,我把这个 /home/sikas/public_html/ 位置放到了文件中……我该怎么办?
  • @sikas:如果您的.htpasswd 文件位于http://mysubdomain/.htpasswd,则使用AuthUserFile /home/sikas/public_html/.htpasswd,如果它位于http://mysubdomain/secret-files/.htpasswd,则使用AuthUserFile /home/sikas/public_html/secret-files/.htpasswd
【解决方案2】:

使用绝对托管路径,例如:

/home/content/14/5267714/html/.htpasswd

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-21
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多