3

我正在阅读有关 PDO 的内容,并且遇到了 parse_ini_file 函数。出于安全原因,许多开发人员建议使用此函数解析数据库设置,而不是在代码中硬编码数据库设置。

我对你的问题是,为这个额外的“安全性”为你的 PHP 应用程序的每次加载执行一个文件读取是否有意义?

我想知道这个文件读取有多贵..

php 5.3 在评论 http://www.php.net/manual/en/class.pdo.php

4

4 回答 4

5

我真的不明白它如何更安全。

例如,如果您的数据库设置存储在主 Web 根目录之外的“config.php”文件中的定义中,它们就像存储在 .ini 文件中一样安全,并且不会有任何-page 解析开销(除了必须按照正常情况包含配置文件)。

于 2010-12-23T22:35:04.123 回答
1

PHP 文件中的硬编码设置很糟糕,因为这些相同的 PHP 文件将被发送、复制、放入存储库等。密码应该更加隐私。此外,必须让源文件覆盖您的本地副本也很烦人。

请注意,我特指在项目代码库中嵌入常规 PHP 文件。如果您将配置设置放在所有这些设置之外的 PHP 文件中,则上述任何内容都不适用。

如果您担心解析一个配置文件的开销,那么您根本不应该使用 PHP……但是,您可以通过仅在无法找到缓存(例如,memcache)副本时解析它来限制文件读取。

于 2010-12-23T22:40:01.263 回答
1

如果您不仅有存储在 ini 文件中的 db 访问权限,那么这是有道理的。它可以像您的应用程序的配置一样,因此您不必打开 10 个文件来更改 3 个硬编码 variables/constants/whatever 。如果您不喜欢每次请求应用程序时都读取文件,请使用 php 文件来存储您的所有配置选项(将它们全部保存在一个地方非常好),并建议保留 ini/php配置文件出你是 web root 。

于 2010-12-23T22:45:23.087 回答
1

可能不是。如果它是一个 .ini 文件,那么浏览器就可以访问它并下载它。至少一个 .php 有一个空白屏幕的体面。

于 2010-12-24T00:37:52.417 回答