【问题标题】:Is it safe to include files from outside public_html?包含来自 public_html 外部的文件是否安全?
【发布时间】:2013-10-23 20:45:08
【问题描述】:
我正在开发一个系统,如果用户正确登录,他只能访问大部分页面。如果登录通过,我将检查索引页面,包括所有其他子页面,而不是检查每个页面上的正确登录。
为了确保没有人能够通过他们的直接 url 访问任何其他网站,我将把所有页面放在 public_html 之外,并使用路径“../page.php”从这里包含它们。
这是一种安全的做事方式,还是我遗漏了任何其他安全漏洞?
【问题讨论】:
标签:
php
security
include
public-html
【解决方案1】:
是的,这已经足够安全了。假设public_html 是您的网络服务器的根,用户将无法直接访问它之外的文件。
假设您的网络服务器与htaccess 指令兼容,您还可以创建一个文件夹,例如public_html/private,其中包含一个.htaccess 文件,其中包含:
Deny from all
如果您不想用网络内容污染public_html 之外的文件夹。
【解决方案2】:
不要直接从用户可以操作的 usr 输入或变量构建包含路径,你应该没问题。根据项目的大小,您可能会更好地研究 PHP 框架。