0

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

现在我承认,我只是不喜欢 XML。对于任何潜在的好处来说都过于冗长,而且通常是数据存储的糟糕选择(为什么不只使用数据库?),但我的同事坚持认为,由于 XML,我们的代码在某种程度上更加安全。他没有解释原因,但仍然相信。任何想法为什么会这样?

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

4

2 回答 2

4

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

直接回答:不是。

于 2013-02-13T13:14:22.587 回答
0

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

首先,你不能使用数据库来存储它自己的数据库连接信息,所以那个位必须在某个地方。Deceze 是正确的,XML 本身并不安全。

任何安全方面都来自于您组织中如何对待 XML 文件与 PHP 不同的其他一些细节。我能想到的两件事是:

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

  2. 如果所有网站文件都同步或备份到可能受到威胁的位置(例如 GitHub、USB 拇指驱动器),您希望排除数据库密码等敏感内容,因此可以轻松使用文件扩展名 .xml 过滤文件排除。

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

XML 要做的最后一件事是:

  • 如果有人在不知道自己在做什么的情况下对文件大发雷霆,他们可以很容易地破坏它,然后就无法解析,整个系统就会失败。结果:有些人对处理 XML 感到厌烦。我不确定这算不算安全,但在一个动机不明的同事世界里,这似乎是合理的。
于 2013-02-13T14:59:25.700 回答