如何保护 html 页面和部分中的 PHP 代码?

How to Secure PHP code in htm Pages and Partials?

我正在使用 OctoberCMS, based on Laravel and Twig, with Nginx and PHP7.0-FPM

我使用 CMS 后端编辑器制作页面或部分。可以编辑 HTML 标记和代码。

页面将呈现为 localhost/mypage 并隐藏 php 源代码。

但我可以在浏览器中转到 localhost/themes/mysite/pages/mypage.htm 并以纯文本形式查看 Twig 标记和 PHP 评论。

在某些页面上,我可以查看所有 PHP 和 Laravel 代码,例如与数据库名称和表的连接。

代码编辑器中 onStart() 函数中的任何内容,即使它包含在 htm 文件中的 php 标记中。

mypage.htm 输出:

然而,当查看 .php 文件时,它只显示输出而不显示源代码。

我试图将页面文件扩展名更改为 php 而不是 htm 但出现错误。

Invalid file extension: php. Allowed extensions are: htm.

您是否正确设置了 nginx 以将这些文件和其他未经许可的文件列入黑名单? http://octobercms.com/docs/setup/configuration#nginx-configuration

或者,您可以采用白名单安全方法并使用 october:mirror 命令:http://octobercms.com/docs/setup/configuration#public-folder