为什么从htdocs目录中删除PHP文件是一个好习惯?

Ita*_*vka 4 php security

为什么从htdocs/public目录中删除PHP文件是一个好习惯?
无论如何它们正在被解析,对吧?

Pek*_*ica 8

如果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)