目前,对于页眉,页脚或常见侧边栏对象这样的内容,我创建了一个自定义.php
文件,并按照以下几行执行操作:
echo '
<some><html><here>
';
然后将其包含在我希望它出现的页面上:
include('path/to/file');
唯一的问题是,有人可以将浏览器指向我的.php
文件,并自行查看部分HTML。这不是一个大问题,但似乎不专业,有点粗心。有没有更好的方法呢?
答案 0 :(得分:1)
最简单的方法是将所有这些文件移到DocumentRoot
/ public
目录之外并从那里包含它们。类似的东西:
include '../pages/header.php';
// rest of the script
include '../pages/bottom.php';
无论如何,这是该目录的目的 - 只保存要直接访问的内容。
当然,在此之后的第一步是调查只有一个index.php文件过滤所有请求(权限,过滤,重写等),并根据请求包含任何必要的内容(这称为一个前端控制器,还有一些轻量级框架已经实现了它)。这是一个起点:https://github.com/adrian-gheorghe/basic-website/blob/master/public/index.php
答案 1 :(得分:1)
将包含的php文件放在一个单独的目录中,并使该目录无法从外部访问(例如,使用带有Apache的.htaccess)。
答案 2 :(得分:0)
您必须限制对服务器配置中其他文件的访问。
答案 3 :(得分:0)
WordPress几乎完成了您目前所做的工作:它将所有主题文件存储在/wp-content/themes/THEMENAMEHERE/
中,您可以直接访问这些文件。这并不是一个大问题,因为用户不能完全做任何有害的事情,但如果你关心,你可以将你的文件存储在一个单独的目录中(正如其他答案所提到的),或配置httpd.conf
或{{ 1}}阻止访问特定脚本。