yii2 config \ db.php安全吗?

时间:2017-06-17 17:53:22

标签: security yii2

我第一次使用框架Yii2,我想知道在config \ db.php中用纯文本写我的数据库密码是否安全?或者他们是一种更安全的方式来访问数据库?

3 个答案:

答案 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会忽略该文件。