Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用.htaccess保护目录时出现问题_.htaccess_.htpasswd - Fatal编程技术网

使用.htaccess保护目录时出现问题

使用.htaccess保护目录时出现问题,.htaccess,.htpasswd,.htaccess,.htpasswd,我创建了一个.htaccess和.htpasswd文件,并将它们存储在我想要保护的文件夹中。当我导航到该文件夹时,有人要求我输入用户名和密码(存储在.htpasswd文件中)。输入用户名和密码后,我收到一个500内部服务器错误。我在本地主机(windows)和web服务器(linux)上都使用了这些文件,它们都给出了上述相同的结果 这是我的.htaccess文件: <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files

我创建了一个.htaccess和.htpasswd文件,并将它们存储在我想要保护的文件夹中。当我导航到该文件夹时,有人要求我输入用户名和密码(存储在.htpasswd文件中)。输入用户名和密码后,我收到一个500内部服务器错误。我在本地主机(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

全盘否定
AuthUserFile/.htpasswd
AuthGroupFile/dev/null
AuthName“请输入您的ID和密码”
AuthType Basic
需要有效用户
命令拒绝,允许

我怀疑您的
.htpasswd
文件是否真的与
/bin
/usr
/home
等文件一起位于服务器文件系统的根目录中(而不是位于为web浏览器提供服务的文件系统的内部)

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


请注意,如果可能,您不应将
.htpasswd
文件放在
公共html
htdocs
文件夹中,因为任何配置错误不仅允许未经授权访问您想要保护的文件,还允许访问授权用户名和散列密码。

我怀疑您的
.htpasswd
文件是否真的与
/bin
/usr
/home
一起位于服务器文件系统的根目录中,以及其他(而不是在为web浏览器服务的文件系统的内部)

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


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

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

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

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

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

可以从您的Apache日志中向我们提供错误消息吗?@pex:我在哪里可以找到错误日志?可以从您的Apache日志中向我们提供错误消息吗?@pex:我在哪里可以找到错误日志?好的,我现在正在本地主机(Windows 7)上测试,AuthUserFile应该是C:/wamp/www/.htpasswd吗?在将AuthUserFile设置为C:/wamp/www/.htpasswd之后,它与我一起工作。。。但是当我在更改路径后上传文件时,它没有工作。注意:我使用免费服务。@sikas:你的web主机支持PHP,对吗?试着上传一个只包含
的PHP文件,我已经完成了这项工作,我把这个/home/sikas/public\u html/location放到了这个文件中。。。我该怎么办?@sikas:如果.htpasswd文件位于
http://mysubdomain/.htpasswd
AuthUserFile/home/sikas/public\u html/secret files/.htpasswd
如果它位于
http://mysubdomain/secret-files/.htpasswd
OK,我现在正在本地主机(Windows 7)上进行测试,AuthUserFile是否应该是C:/wamp/www/.htpasswd?在将AuthUserFile设置为C:/wamp/www/.htpasswd后,它与我一起工作。。。但是当我在更改路径后上传文件时,它没有工作。注意:我使用免费服务。@sikas:你的web主机支持PHP,对吗?试着上传一个只包含
的PHP文件,我已经完成了这项工作,我把这个/home/sikas/public\u html/location放到了这个文件中。。。我该怎么办?@sikas:如果.htpasswd文件位于
http://mysubdomain/.htpasswd
AuthUserFile/home/sikas/public\u html/secret files/.htpasswd
如果它位于
http://mysubdomain/secret-files/.htpasswd