3 回答

TA贡献1816条经验 获得超4个赞
您可以尝试以下两种选择:
<?php
/**
* Returns true if current file is included
*/
function isIncluded() {
$f = get_included_files();
return $f[0] != __FILE__;
}
if(!isIncluded()) {
// Do some stuff, eg: print some HTML
} else {
// Show 403/error
}
?>
<?php
// You can also use (recommended)
if(__FILE__ !== $_SERVER["SCRIPT_FILENAME"]) {
// this file is being included
}
?>
您也可以选择将文件放入受 a.htaccess和 a保护的目录中,Deny from all因为 PHP 可以绕过它,但用户不能。

TA贡献1806条经验 获得超8个赞
在您的 Web 根目录中根本不包含这些脚本是一种常见且最佳的做法。您可以将您的包含放在其他地方的目录中。
也就是说,您可能有这样的目录:
/www
index.php
/includes
header.php
footer.php
在你的index.php,你总是可以做require_once('../header.php');
这比将您的 Web 服务器配置为禁止访问要好。如果您按照其他人的建议使用.htaccess文件,则该配置可能会丢失、移动、被 webroot 之外的正确配置文件忽略等。您不希望意外泄露这些文件。

TA贡献1847条经验 获得超11个赞
您可以创建一个 .htaccess 文件并将其放在无法直接执行的独立目录(例如“common”)中。此 .htaccess 文件应包含以下指令:
order deny,allow
deny from all
- 3 回答
- 0 关注
- 174 浏览
添加回答
举报