【问题标题】:Why is it more secure to store data in xml when using php?为什么在使用php时将数据存储在xml中更安全?
【发布时间】:2013-02-13 13:11:19
【问题描述】:

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

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

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

【问题讨论】:

  • 这个问题归结为“为什么我的同事相信一些大体上不真实的东西?”,并且需要大量的猜测。从逻辑上讲,唯一能提供无可争议的正确答案的人是你的同事。
  • 这很好。我想我必须在这些日子里把他固定下来。我在这里询问更多是为了公开一些一般性的考虑。如果这真的是一种逐案实施之类的事情,那么显然没有多少人不知道所有细节可以说。

标签: php xml security


【解决方案1】:

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

直接回答:不是。

【讨论】:

    【解决方案2】:

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

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

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

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

    2. 1234563 .xml 过滤文件以排除。

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

    XML 要做的最后一件事是:

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

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多