这个问题在这里已经有了答案:
Prevent direct access to a php include file
(33 个回答)
去年关闭。
嗨,我正在尝试为我想建立的网站制作零件,它会像:
header.php、footer.php 等...
我希望这些文件只有在我包含它时才能工作,并且没有人可以直接访问它们。
有什么办法可以做到吗?
最佳答案
在您的 Web 根目录中根本不包含这些脚本是一种常见且最佳的做法。您可以将包含的内容放在其他地方的目录中。
也就是说,您可能有这样的目录:
/www
index.php
/includes
header.php
footer.php
在您的
index.php
,你可以随时做require_once('../header.php');
这比将 Web 服务器配置为禁止访问要好。如果您使用
.htaccess
文件,如其他人建议的那样,该配置可能会丢失、移动、被 webroot 之外的正确配置文件忽略等。您不会希望意外泄露这些文件。
关于php - 防止直接访问 php 文件但允许包含它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59797490/