我正在开发一个系统,如果用户正确登录,则只能访问大部分页面。如果登录通过,我将检查索引页面,包括所有其他子页面,而不是检查每个页面上的正确登录。
为了确保没有人能够通过他们的直接 url 访问任何其他站点,我将把所有页面放在 public_html 之外,并使用路径“../page.php”从这里包含它们。
这是一种安全的做事方式,还是我错过了任何其他安全漏洞?
我正在开发一个系统,如果用户正确登录,则只能访问大部分页面。如果登录通过,我将检查索引页面,包括所有其他子页面,而不是检查每个页面上的正确登录。
为了确保没有人能够通过他们的直接 url 访问任何其他站点,我将把所有页面放在 public_html 之外,并使用路径“../page.php”从这里包含它们。
这是一种安全的做事方式,还是我错过了任何其他安全漏洞?
是的,这已经足够安全了。假设这public_html
是您的 Web 服务器的根目录,用户将无法直接访问它之外的文件。
假设您的 Web 服务器与htaccess
指令兼容,您还可以创建一个文件夹,例如public_html/private
包含以下文件的.htaccess
文件:
Deny from all
如果您不想public_html
使用 Web 内容来污染文件夹之外的文件夹。
不要直接从用户可以操作的 usr 输入或变量构建包含路径,你应该没问题。根据项目的大小,您可能会更好地研究 PHP 框架。