我有一个基本上使用以下结构的网页:
index.php
functions.php
pages/a.php
pages/b.php
...
当我调用 index.php 时,会提示用户登录或通过 session-id 自动登录。当导航中的点击完成时,index.php 调用 pages/a.php 等。index.php 包括functions.php,它在has_rights(...) 中执行所有正确的检查工作。
每个页面文件都是这样的:
if(has_rights(...)) {
...
}
每当我自己打开 $url/pages/a.php 时,我都会得到一个空白页面,并且日志中出现未定义 has_rights 的错误消息。在外部,这条消息是不可见的,并且没有明显的方法来获取页面中的文件名。此外,由于缺少页眉内容(CSS、Javascript、...),因此不应单独调用页面。这是一种危险吗?如果是这样,如何利用它?
每个页面文件是否应该包含用于权限检查的functions.php,并单独检查它是否被自己调用,或者只是编译失败并向浏览器发送一个空页面就足够了?