Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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
Php .htaccess拒绝目录访问_Php_Apache_.htaccess - Fatal编程技术网

Php .htaccess拒绝目录访问

Php .htaccess拒绝目录访问,php,apache,.htaccess,Php,Apache,.htaccess,我试图限制对我的根目录的访问,以便其他人无法在浏览器中直接访问这些目录中的文件。我现在遇到的问题是根目录中的页面,例如index.php请求密码,.htaccess位于目录的根目录中,而不是域的根目录中。这将阻止索引文件访问这些目录中的包含文件 什么是一种简单的方法,可以在浏览器访问时锁定这些目录,同时仍然允许根目录中的文件访问它们,并且访问者可以访问根目录页面而无需输入密码。我想尽他们所知,他们的网站是可视的,但如果有人开始在子目录中窥探窃取代码,它将拒绝他们,但允许页面访问他们 我已经厌倦了

我试图限制对我的根目录的访问,以便其他人无法在浏览器中直接访问这些目录中的文件。我现在遇到的问题是根目录中的页面,例如index.php请求密码,.htaccess位于目录的根目录中,而不是域的根目录中。这将阻止索引文件访问这些目录中的包含文件

什么是一种简单的方法,可以在浏览器访问时锁定这些目录,同时仍然允许根目录中的文件访问它们,并且访问者可以访问根目录页面而无需输入密码。我想尽他们所知,他们的网站是可视的,但如果有人开始在子目录中窥探窃取代码,它将拒绝他们,但允许页面访问他们

我已经厌倦了我一直想限制浏览器直接访问的每个目录

AuthType Basic
AuthName "Administrator"
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd
Require valid-user

Order Deny,Allow
Deny From All
Allow From 127.0.0.1

您只需添加以下一行和一个额外的空行,即可禁用目录索引:

Options -Indexes

有关更多信息,请参阅文档:

只允许使用与php、aspx等匹配的脚本

Apache2.2

AuthType Basic
AuthName "Administrator"
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd
Require valid-user

#Forbid access to any files except from localhost, because of Order Deny,Allow, Allow gets applied later.
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

#Allow access to files matching index.php
<Files index.php>
    Order Allow,Deny
    Allow from all
</Files>

在.htaccess文件中放入以下行

全盘否定

如果你喜欢例外的话

通融

谢谢你的建议,我将试一试。我的web主机在Apache2.2上,这很令人惊讶,因为它们通常都很擅长保持最新状态。只是一个小问题。我需要像现在这样把它放在根目录还是每个目录中?我假设如果我有多个文件扩展名,我只需要添加一个|来添加一个新的扩展名?我试过把它放在每个目录中,也试过放在根目录中。如果我把它放在目录中,它仍然不允许索引访问文件,它要求登录。如果我把它放在根目录中,它会锁定整个站点。我只需要锁定目录,但仍然允许我登录这些目录,同时允许根目录中的文件访问这些子目录中的文件。请立即检查!如果它仍然不起作用,我会要求你更新你的问题中的htaccess内容和目录结构。我也会尝试一下。我以前试过,清除了缓存并重新启动了浏览器,我仍然能够访问目录中的文件。我可能已经做了+索引,所以这可能是原因。谢谢你的建议。在目录和根目录中都尝试过,如果你右键单击索引或根目录中的任何文件并单击链接,它将在浏览器中显示该目录中的文件,这是我试图阻止的。任何人直接从浏览器访问子目录,同时仍允许根目录或其他子目录中的文件访问这些子目录。更新,这可以限制对目录的访问,但如果某些人查看文件源并单击链接,例如样式表。这将允许他们查看该目录中的文件。如果我只是尝试查看目录结构,那么它会阻止它们。我需要他们不能访问目录中的文件,同时仍然允许文件包含在某些需要它们的文件中。这将不起作用,因为它还限制文件被包含。
AuthType Basic
AuthName "Administrator"
AuthUserFile /home2/mesquiu0/.htpasswds./htpasswd
Require valid-user

Require host 127.0.0.1

#Allow access to files matching index.php
<Files index.php>
    Require all granted
</Files>