Laravel:配置以保护敏感信息

时间:2014-04-25 17:19:43

标签: security laravel

您好,我已经收到了手册,我已经尽可能地完成了,但最后一部分是不完整的。问题是将数据库密码放在其他文件中,然后从database.php文件中访问它们。就是这样:

1)这是db文件

                    'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'laraveel',
            'username'  => 'root',
            'password'  => '',

        ),

所以现在它告诉我创建一个名为.env.local.php的文件,如下所示:

<?php

 return array(

 'TEST_STRIPE_KEY' => 'super-secret-sauce',

 );

然后从db文件中访问它

'key' => $_ENV['TEST_STRIPE_KEY']

我想他的意思是:

                     mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'laravel',
            'username'  => 'root',
            'password'  => '$_ENV['TEST_STRIPE_KEY']',

        ),

但这里是我没有信息的地方。我说,我不知道接下来要在.env.php文件中写什么,创建包含生产环境相应值的文件。我根本不知道那是什么,写什么

与.env.local.php文件一样,生产 .env.php文件永远不应该包含在源代码管理中

1 个答案:

答案 0 :(得分:3)

您的代码几乎是正确的,问题是您在字符串中包裹$_ENV['TEST_STRIPE_KEY'](带单引号)。打开它,一切都会按预期工作。

变化:

'password'  => '$_ENV['TEST_STRIPE_KEY']',  // Wrapped in a string

要:

'password'  => $_ENV['TEST_STRIPE_KEY'],    // No wrapped in a string

如果您仍然遇到问题,请通过运行以确保您处于正确的环境中:

php artisan env