所以目前我的网站结构如下:
/private
/databaseconfigfile.php
/otherprivatestuff.php
/public
/index.php
/pages
/page1.php
/page2.php
我使用以下命令在每个页面的顶部导入这些私有文件:
require_once('../databaseconfigfile.php');
因此,我可以访问其中的define
个变量来填充/生成内容。
它们包含数据库详细信息,各种第三方工具(如SMTP,AWS等)的API密钥。这是正确的方法吗?或者我应该使用不同的PHP函数/方法来访问私有文件?我担心这种方法可能容易发生目录遍历攻击。
答案 0 :(得分:2)
这是正确的方法吗?
是
或者我应该使用不同的PHP函数/方法来访问私有文件吗?
不,将它们保留在文档根目录之外就足够了。例如,如果您的应用程序中某处存在Local File Inclusion漏洞,则应专注于修复漏洞而不是尝试隐藏敏感文件。
通过默默无闻的安全根本不是安全。
答案 1 :(得分:1)
deny from all
它阻止访问目录中的任何文件。