Skip to content

24. 应用练习 – 第 13 版

第 13 版更新内容较少:它加强了对应用程序文件的访问安全。

在第 12 版中,您可以请求以下 URL [http://localhost/php7/scripts-web/impots/version-12/config.json]。随后将显示以下页面(Firefox):

Image

然而,该文件 [config.json] 包含敏感信息,例如获授权使用该应用程序的用户凭据。用户绝不能访问该文件。除 [main.php、index.php、Views/logo.jpg] 文件外,此规则同样适用于所有应用程序文件——上述文件必须允许外部访问。这是因为视图需要通过 HTTP 访问应用程序徽标。第 13 版为此问题提供了一个简单的解决方案。

在 NetBeans 中,我们将 [version-12] 文件夹复制并粘贴到 [version-13] 中:

Image

  • [1] 中,即应用程序的根目录下,仅保留 [index.php, main.php] 脚本;
  • [2] 中,将配置文件放置在 [Config] 文件夹内;
  • [3] 中,将图片 [logo.jpg] 放入 [Resources] 文件夹中;

此处使用的 HTTP 服务器是 Apache 服务器。这使我们能够通过 [.htaccess] 文件控制对文件夹的访问。在所有希望阻止通过 URL 直接访问的文件夹中,我们创建以下 [.htaccess] 文件:

Image

这两行代码可阻止任何人访问该文件夹。

我们将此文件放置在除根目录和 [Resources] 文件夹以外的所有应用程序文件夹中。最终,外部仅能访问三个文件:[index.php、main.php、Resources/logo.jpg]

让我们进行一些测试:

Image

Image

Image

Image

Image

需要对代码进行一些修改:

[Config/config.json] 文件中:

Image

[main.php] 文件中:

Image

[Views/v-banner.php] 文件中:

Image