使用php时,为什么在xml中存储数据更安全?

时间:2013-02-13 13:11:20

标签: php xml security

我想知道当你用XML格式化各个页面部分以供以后提取和使用时,是否有人可以帮助阐明PHP如何变得更加安全。基本上我们在“index.php”中设置了一个函数,它负责创建页面。当被调用时,它会抓取一系列包含数据库连接信息和站点设置的XML文件。然后它将这些东西解析成一个数组,以便在代码中使用。随后,对整个页面设置和小部件设置也做了同样的事情。

现在我承认,我显然不喜欢XML。对于任何潜在的好处,以及一般的数据存储选择不当(为什么不只是使用数据库?),但是我的同事坚持认为我们的代码因为XML而更加安全。他没有解释原因,但仍然坚信。任何想法为什么会出现这种情况?

更糟糕的是,XML文件被解析为全局变量,好像如果漏洞进入索引,攻击者需要做的就是循环遍历$ GLOBALS以检索数据库凭据和我们代码上的其他有价值的信息。似乎这样做会破坏在XML中存储数据的任何可能的好处。那我在这里错过了什么?有什么想法吗?

2 个答案:

答案 0 :(得分:4)

XML文件本身并不安全或不安全,而是它们的使用方式。 XML只是一种数据格式。在这种情况下,听起来不像数据如何分离对安全性有显着贡献。

直接回答:不是。

答案 1 :(得分:0)

我知道我说这是猜测,但是到底是什么。

首先,您不能使用数据库来存储自己的数据库连接信息,因此该位必须在某处。 Deceze是正确的,XML本身并不安全。

任何安全方面都将来自XML文件如何与组织中的PHP区别对待的其他细节。我能想到的两件事是:

  1. 如果允许不同的人编辑XML而不是PHP,包括是否有一个很好的前端用于编辑和保存它们

  2. 如果所有的网站文件都被同步或备份了可能受到危害的位置(例如GitHub,USB拇指驱动器),你想要排除像db密码这样的敏感内容,所以很容易使用文件扩展名.xml来过滤要排除的文件。

  3. 当然,这些文件可以很容易地应用于.json或.csv文件,或者确实适用于单独文件夹中的.php文件。

    XML的最后一点是:

    • 如果有人对文件感到不满而不知道他们在做什么,他们可以很容易地破解它,然后就不会解析,整个系统都会失败。 Upshot:有些人因为搞乱XML而被推迟了。我不确定这是否具有安全性,但在充满动机的同事世界中这似乎是合理的。