在 IIS 中访问物理路径外的 PHP 个文件

Accessing PHP files outside physical path in IIS

有人告诉我,出于安全原因,所有 PHP 数据处理文件都应位于网站根目录之外。我有一个在 IIS 10 中托管的网站,其中包含根目录之外的文件夹。像这样的东西:- 网站: C:\inetpub\wwwroot\index.php 和 PHP files C:\includes\submit.inc.php 这显然不起作用,因为 http:\localhost\includes\submit.inc.php 不存在。 submit.inc.php 是 AJAX 用来将表单数据发送回服务器的文件。

那么,我是否应该首先担心 PHP 文件分离,如果是这样,我如何在 IIS 中引用网站物理路径之外的文件?

谢谢。

您应该有 PHP 个文件(如果您使用 Front Controller pattern,则为一个文件)位于根目录中。

这些提供浏览器和其他客户端可以向其发出请求的端点(即具有 URL)。

从那里您可以使用 require_once 从根外部加载依赖项。


将数据处理保持在根目录之外的主要目标是,如果 HTTP 服务器配置错误导致您的 PHP 文件被提供为原始文件而不是处理它们,则保护您的业务逻辑和安全凭证不被泄露PHP.

all 您的 PHP 保留在根目录之外无法实现这一点。