Php 文件只能使用includes执行

Php 文件只能使用includes执行,php,include,Php,Include,我想知道这是否合适 我需要阻止对文件的web访问,并使其仅可从其他php(即:include)使用 提前感谢最常用的方法是在父脚本中定义一个常量 define('BLA', true); 并检查脚本是否存在: if (!defined('BLA')) { // redirect here } 这很好,但是您可以使用它而不是手动输入文件名,从而使它更通用一些$\u服务器[“SCRIPT\u NAME”]将返回文件名。这样,如果重命名或复制文件,它仍然受到保护 您还可以设置文件权限以使文

我想知道这是否合适

我需要阻止对文件的web访问,并使其仅可从其他php(即:include)使用


提前感谢

最常用的方法是在父脚本中定义一个常量

define('BLA', true);
并检查脚本是否存在:

if (!defined('BLA')) {
    // redirect here
}

这很好,但是您可以使用它而不是手动输入文件名,从而使它更通用一些
$\u服务器[“SCRIPT\u NAME”]
将返回文件名。这样,如果重命名或复制文件,它仍然受到保护

您还可以设置文件权限以使文件不可访问,并将其放在siteroot之外


@zerkms还有一个有趣的建议。

为什么不将包含文件放在web根目录之外?将支持文件转储到可公开访问的目录中是非常草率的。
if (!defined('BLA')) {
    // redirect here
}