包含来自public_html外部的文件是否安全


Is it safe to include files from outside public_html?

我正在开发一个系统,其中用户只有在正确登录的情况下才能访问大多数页面。我不是在每个页面上检查正确的登录,而是在索引页面上进行检查,如果登录通过,则包括其中的所有其他子页面。

为了确保没有人能够通过他们的直接 url 访问任何其他网站,我将把所有页面放在public_html之外,并使用路径"../页.php'。

这是一种安全的做事方式,还是我遗漏了任何其他安全漏洞?

是的,这已经足够安全了。假设public_html是 Web 服务器的根目录,用户将无法直接访问其外部的文件。

假设您的 Web 服务器与 htaccess 指令兼容,您还可以创建一个文件夹,例如 public_html/private 带有包含以下内容的.htaccess文件:

Deny from all

如果您不想用 Web 内容污染public_html之外的文件夹。

不要直接从用户可以操作的 usr 输入或变量构建包含路径,你应该没问题。你最好根据项目的大小研究一个PHP框架。