我知道问题如何保护我的数据库连接凭据?已被多次询问和回答(例如
How to secure database passwords in PHP?).
这个问题的普遍接受的答案是将细节存储在Web根目录之外.但是我很好奇为什么这真的有很大的不同.
根据我的理解,一个人无法通过HTTP下载PHP文件的源码(除非您的网络服务器配置不正确,而且您马上知道这一点).因此,除非您有权访问PHP文件的来源,否则您将无法查看凭据.纠正我,如果我错了,但这不是基本上意味着你需要shell访问?如果你有shell访问权限,那么你不能直接访问web根目录下的文件?
如果该问题的答案是include文件可能具有不允许除了Web服务器用户之外的任何人的特殊权限,那么(考虑到我有shell访问权限),我不能只写(或修改)任何PHP文件只是回显这些凭据?