yaml,xml或注释存储相关信息的安全性如何?

时间:2015-06-23 12:42:09

标签: php xml annotations yaml config

我通常使用PHP编写代码,我在许多应用程序中看到一些配置文件,其中包含一些带有相关信息的常量,例如密码,电子邮件地址,服务器的IP或其他机器......隐藏在树文件夹中(或者没有那么多隐藏)。

这方面的一个很好的例子是Wordpress的wp-config.php文件。

我想知道将这些信息保存为其他文件格式甚至是数据库是否更安全。

使用yaml,xml或者像某些框架(如Symfony)这样的注释有什么优势吗?

2 个答案:

答案 0 :(得分:1)

关于安全性:mario和PiranhaGeorge说的是什么(取决于位置,浏览器不应该访问位置)

关于配置文件的使用:请记住,在您可以访问更复杂的存储设施之前,首先需要一些信息。例如,您需要具有db访问参数或解密加密文件的信息。 在应用程序启动时,有一些设置 必须知道 ,并且在运行时期间无法(轻松)更改。除db访问参数之外的另一个示例可以包括插件目录的路径。 这些信息必须在不首先启动应用程序的情况下进行更改。

理想情况下,您需要一种易于理解的格式(例如PHP解释器)和管理员。机器需要花费尽可能少的时间来加载配置,管理员需要一种方法来以一种简单的方式更改应用程序参数(如果出现紧急情况,请考虑智能手机上的SSH和vi或其他bash编辑器),例如,如果需要在生产和测试数据库之间切换。

答案 1 :(得分:0)

从本质上讲,这些方法的安全性并不低于彼此。我会说它主要是个人偏好你使用的存储机制。

要记住的一些事情(在我的头顶):

  1. 保持一致 - 选择一种存储机制进行配置,并将其用于所有配置。
  2. 确保文件存储在Web根目录之外,或者正确配置服务器,例如:通过.htaccess文件,因此无法在浏览器中阅读。
  3. 确保使用适当的权限,尤其是在共享托管环境中。您不希望其他用户能够读取您的配置文件。
  4. 如果您不在PHP中存储配置,那么您最终可能会将它们序列化并缓存它们。
  5. (2)和(3)也适用于任何缓存配置。