我第一次使用框架Yii2,我想知道在config \ db.php中用纯文本写我的数据库密码是否安全?或者他们是一种更安全的方式来访问数据库?
答案 0 :(得分:4)
只要您不向公共用户公开此文件,它就应该足够安全。
您可以将其存储在服务器上的任何位置(只要它不向公共用户公开),但应用程序应该能够快速轻松地获取它(不为数据库连接提供额外的延迟)。
答案 1 :(得分:4)
如果你正在使用Git,我认为提交任何带有密码的文件是个坏主意。就个人而言,我保留一个单独的文件,其中包含一些Git之外的关键密码,并加载该文件以获取值,如下所示......
$ini = parse_ini_file('path/passwords.ini', true);
return [
'class' => 'yii\db\Connection',
'dsn' => $config['db']['dsn'],
'username' => $config['db']['username'],
'password' => $config['db']['password'],
'charset' => 'utf8',
];
password.ini看起来像......
// My password file
[db]
dsn="mysql:host=localhost;dbname=xxx"
username="xxx"
password="xxx"
你可以将db.php从Git中删除,但我发现这更方便,特别是对于许多设置不影响安全性的其他配置文件。
答案 2 :(得分:2)
我不知道你为什么要创建一个额外的文件。在common\config
文件夹中,您将获得main-local.php
。您可以在那里定义您的连接凭据。
默认情况下,git会忽略该文件。