简单有效的方法将HTML代码分解成几个文件并使用php的include()

时间:2011-11-18 22:40:11

标签: php html include

目前,对于页眉,页脚或常见侧边栏对象这样的内容,我创建了一个自定义.php文件,并按照以下几行执行操作:

echo '
    <some><html><here>
';

然后将其包含在我希望它出现的页面上:

include('path/to/file');

唯一的问题是,有人可以将浏览器指向我的.php文件,并自行查看部分HTML。这不是一个大问题,但似乎不专业,有点粗心。有没有更好的方法呢?

4 个答案:

答案 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}}阻止访问特定脚本。