如果远程访问数据库的唯一目的是选择,那么将数据库连接信息存储在 ini 文件中的风险和好处是什么?
user1193509
问问题
7461 次
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 回答