1

如果远程访问数据库的唯一目的是选择,那么将数据库连接信息存储在 ini 文件中的风险和好处是什么?

4

2 回答 2

4

将配置存储在 ini 文件中没有任何问题最好不要接触php.ini 文件。

只需创建您自己的 .ini 文件并使用parse_ini_file($filename)parse_ini_file($filename, true)按部分分组来阅读它。

有关更多信息,请参阅php 文档

编辑

进一步的例子

; This is your 'config.ini' file, stored on your web server
; Just make sure it isn't in a public directory!

[database]
host = localhost
user = bob
password = password

然后你的PHP:

$config = parse_ini_file(__DIR__ . '/../config.ini', true); // Assuming your php is in the root directory of your web server, so placing the file where it can't be seen by prying eyes!
$host = $config['database']['host'];
// etc...
于 2012-09-12T19:24:33.253 回答
1

如果您指的是部分php.ini下的文件和设置[mysqli]

[mysqli]
mysqli.default_port = 3306
mysqli.default_host = 127.0.0.1
mysqli.default_user = db_user
mysqli.default_pw = db_pass

然后将它们设置在 ini 文件中可以方便地进一步使用 myqsli,因为您不必解析任何文件/定义自己的配置,只需连接:

$db = mysqli_connect(); // no arguments, just works.
$res = mysqli_query($db, 'SHOW DATABASES');
while($row = mysqli_fetch_assoc($res)){
    print_r($row);
}

仅当您将 phpinfo 留在某处时才存在风险,那么您的用户名和密码将暴露给查看此文件的任何人。

于 2012-09-12T20:05:03.070 回答