如果远程访问数据库的唯一目的是SELECT,那么在ini文件中存储数据库连接信息有什么风险和好处?
答案 0 :(得分:4)
在 ini文件中存储配置没有任何问题,但最好不要触摸 php.ini文件。
只需创建您自己的.ini文件,然后使用parse_ini_file($filename)
或parse_ini_file($filename, true)
进行阅读,以便按部分进行分组。
有关详细信息,请参阅php docs
修改强>
进一步的例子
; 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...
答案 1 :(得分: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的地方才存在风险,那么您的用户名和密码将会暴露给查看此文件的任何人。