Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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文件执行_Php_Apache_.htaccess_Security_Server - Fatal编程技术网

如何禁用子目录中的直接PHP文件执行

如何禁用子目录中的直接PHP文件执行,php,apache,.htaccess,security,server,Php,Apache,.htaccess,Security,Server,我注意到一个问题 我有一个运行web应用程序的服务器。现在我可以直接从url访问PHP文件,就像这样 http://superapp.com/libs/mongo.php 如何限制除app root目录中的index.PHP之外的所有PHP文件的直接执行 如果有任何帮助,我将不胜感激。一般来说,人们通常会将应用程序代码放在公共webroot之上(../)以完成此任务。基本上,您的wwwroot文件夹有index.php,其中包含来自../MyApp/Bootstrap.php的内容,可能会调用

我注意到一个问题

我有一个运行web应用程序的服务器。现在我可以直接从url访问PHP文件,就像这样

http://superapp.com/libs/mongo.php
如何限制除app root目录中的
index.PHP
之外的所有PHP文件的直接执行


如果有任何帮助,我将不胜感激。

一般来说,人们通常会将应用程序代码放在公共webroot之上(../)以完成此任务。基本上,您的wwwroot文件夹有index.php,其中包含来自../MyApp/Bootstrap.php的内容,可能会调用一个函数来启动


您可以在每个文件夹的基础上禁用php执行,但是,这可能不是您想要的,因为它将向请求用户提供SRC代码。您可以使用htaccess或类似工具来限制不需要index.php的请求。

很简单:如果您不想通过web访问某些内容,请不要将其放在可通过web访问的位置。将其放置在文档根目录之外。当然,您可以花费大量时间尝试配置服务器,使其不服务于某些页面,并希望您已经涵盖了所有页面,并且设法不破坏您的应用程序,但为什么不将它们完全移到文档根目录之外?或者移到受密码保护的子目录中。。。