【问题标题】:How can I disable work php files in a specific directory in My site如何在我的站点的特定目录中禁用工作 php 文件
【发布时间】:2011-12-23 20:54:31
【问题描述】:

我的文件夹包含多个文件和子文件夹,如下所示:

-/folder
    -/subfolder
    -/subfolder
    -/subfolder
    -/etc...
-index.html
-control.php
-ads.php
-/etc...

现在我想禁用工作 PHP 或仅在主目录 (-/folder) 中的其他文件,例如 (-index.html, -control.php) ,但我希望所有子文件夹文件都能正常工作。

我只想影响该主文件夹中的文件。

【问题讨论】:

  • 禁用 PHP?那么该目录中的任何 PHP 文件都用作源代码吗?为什么?你的现实情况是什么,你为什么需要这个?
  • 如何禁用?防止他们被查看?执行?不把它们当作php文件?
  • -1 表示尽管被反复询问,但没有改善问题。

标签: php .htaccess directory


【解决方案1】:

如果我正确理解了这个问题,您需要在给定目录中使用 .htaccess 并包含以下内容:

deny from all

编辑:据我所知 .htaccess 规则也适用于所有子目录,您可能必须在每个子目录中创建一个 .htaccess 文件来覆盖为 root 指定的限制

allow from all

.htaccess 文件中的配置指令适用于 .htaccess 文件所在的目录,以及所有 子目录。

http://httpd.apache.org/docs/current/howto/htaccess.html#how

【讨论】:

  • 这也会影响所有子目录
  • @salla:我只想要主文件夹文件,但子文件夹文件工作正常
【解决方案2】:

如果你使用的是 apache,你可以添加到你的虚拟主机中

<directory /path/to/dir>
    Order allow,deny
    Deny from All
</directory>

指令每个子目录,见http://httpd.apache.org/docs/2.2/howto/access.html

(希望我能理解您的需求)

编辑 如果您需要过滤文件而不是目录,则可以使用类似的 glob 匹配

<Files *.php>
    Order allow,deny
    Deny from All
</Files>

http://httpd.apache.org/docs/2.2/en/mod/core.html#files

【讨论】:

  • 这也会影响所有子目录
  • @sputnick:我只想要主文件夹文件,但子文件夹文件工作正常
  • 不幸的是,禁用主目录和子目录文件,但我只想禁用主目录文件
  • @sputnick:这将适用于主目录和子目录中的所有文件,我只想适用于主目录中的所有文件
【解决方案3】:

您可以使用多个指令覆盖第一个指令

<directory /path/to/dir>
    Order Allow,Deny
    Deny from All
</directory>

<directory /path/to/dir/subdir>
    Order Deny,Allow
    Allow from All
</directory>

【讨论】:

  • 不幸的是,禁用主目录和子目录文件,但我只想禁用主目录文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-07
  • 2018-03-04
  • 1970-01-01
  • 2011-03-04
  • 2010-10-01
  • 2020-06-04
相关资源
最近更新 更多