为什么从htdocs/public目录中删除PHP文件是一个好习惯?
无论如何它们正在被解析,对吧?
如果PHP文件在某些时候由于配置错误而未解析,或者说是一个失败的解释器,则不存在源代码(以及可能的密码)作为明文显示给全世界的危险.
此外,重命名.php文件等人为错误.php.bak也不那么危险.
几年前我曾经有过这样的事情,当时一位来自Perl世界并且完全不了解PHP的同事决定在我们共享的服务器上将" short_open_tags " 设置为"off",因为short_open_tags搞砸了他曾经去过的一些XML实验(<?xml version="1.0"?>) .那很有趣!:)
第二件事:
呼叫包括脱离背景
在Web根目录下包含(即包含在其他地方的PHP代码片段)使您可能容易受到直接调用这些包含的人的影响,可能会绕过安全检查和初始化.
如果您不能/不会避免PHP代码驻留在Web根目录中,至少应确保启动每个文件以检查它是否在正确的上下文中运行.
在主脚本中设置:
define ("RUNNING_IN_SCRIPT", true);
Run Code Online (Sandbox Code Playgroud)
并将其添加到每个包含的第1行:
if (!defined("RUNNING_IN_SCRIPT")) die ("This file cannot be called directly.");
Run Code Online (Sandbox Code Playgroud)