我想知道当你用XML格式化各个页面部分以供以后提取和使用时,是否有人可以帮助阐明PHP如何变得更加安全。基本上我们在“index.php”中设置了一个函数,它负责创建页面。当被调用时,它会抓取一系列包含数据库连接信息和站点设置的XML文件。然后它将这些东西解析成一个数组,以便在代码中使用。随后,对整个页面设置和小部件设置也做了同样的事情。
现在我承认,我显然不喜欢XML。对于任何潜在的好处,以及一般的数据存储选择不当(为什么不只是使用数据库?),但是我的同事坚持认为我们的代码因为XML而更加安全。他没有解释原因,但仍然坚信。任何想法为什么会出现这种情况?
更糟糕的是,XML文件被解析为全局变量,好像如果漏洞进入索引,攻击者需要做的就是循环遍历$ GLOBALS以检索数据库凭据和我们代码上的其他有价值的信息。似乎这样做会破坏在XML中存储数据的任何可能的好处。那我在这里错过了什么?有什么想法吗?
答案 0 :(得分:4)
XML文件本身并不安全或不安全,而是它们的使用方式。 XML只是一种数据格式。在这种情况下,听起来不像数据如何分离对安全性有显着贡献。
直接回答:不是。
答案 1 :(得分:0)
我知道我说这是猜测,但是到底是什么。
首先,您不能使用数据库来存储自己的数据库连接信息,因此该位必须在某处。 Deceze是正确的,XML本身并不安全。
任何安全方面都将来自XML文件如何与组织中的PHP区别对待的其他细节。我能想到的两件事是:
如果允许不同的人编辑XML而不是PHP,包括是否有一个很好的前端用于编辑和保存它们
如果所有的网站文件都被同步或备份了可能受到危害的位置(例如GitHub,USB拇指驱动器),你想要排除像db密码这样的敏感内容,所以很容易使用文件扩展名.xml来过滤要排除的文件。
当然,这些文件可以很容易地应用于.json或.csv文件,或者确实适用于单独文件夹中的.php文件。
XML的最后一点是: