LAMP 堆栈中使用的 PHP 文件的安全位置

LAMP 堆栈中使用的 PHP 文件的安全位置

我正在 Ubuntu 20.04 上设置 LAMP 堆栈,最近与一位同事讨论了这样一个事实:最好不要将所有堆栈(类、API 控制器等)的 PHP 脚本保存在服务器的 Web 目录中,因为它们是公开可用的。在任何配置不当的情况下,最坏的情况是您的 php 文件可能会以纯文本形式输出到浏览器中。虽然所有这些对我来说听起来有点奇怪,但有些帖子似乎证实了这一点

所以我想知道,假设我已将 apache 中的 DocumentRoot 设置为www/html,并且我想将所有 php 脚本加载到/prod_code。我如何确保这些文件只能在特定场景中需要时运行www/html/index.php,而不能在其他情况下运行,尤其是不能通过 Web 根目录公开运行?

我也开始经历本文档,但我不太确定如何才能知道我的服务器的 php 安装是否作为 apache 模块运行,或者是否是 cgi 二进制文件,因此我不明白如何预测选项的变化doc_root, ETC..?

相关内容