Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 存储API密钥的laravel方法是什么?_Security_Laravel - Fatal编程技术网

Security 存储API密钥的laravel方法是什么?

Security 存储API密钥的laravel方法是什么?,security,laravel,Security,Laravel,是否有建议用于存储API密钥的特定文件或目录?我想从代码库中取出密钥,但我不确定将它们放在哪里。您可以将API密钥设置为环境变量,然后以这种方式访问它们。阅读更多关于 只需在项目根目录中创建一个.env.php文件,该文件返回一个环境变量数组 <?php return array( 'SECRET_API_KEY' => 'PUT YOUR API KEY HERE' ); 这是更新版本的Laravel的更新答案 首先,在.env文件中设置凭据。通常,您会希望在它前面加上

是否有建议用于存储API密钥的特定文件或目录?我想从代码库中取出密钥,但我不确定将它们放在哪里。

您可以将API密钥设置为环境变量,然后以这种方式访问它们。阅读更多关于

只需在项目根目录中创建一个
.env.php
文件,该文件返回一个环境变量数组

<?php

return array(
    'SECRET_API_KEY' => 'PUT YOUR API KEY HERE'
);

这是更新版本的Laravel的更新答案

首先,在
.env
文件中设置凭据。通常,您会希望在它前面加上服务名称,因此在本例中,我将使用谷歌地图

GOOGLE_KEY=secret_api_key
然后,看看
config/services.php
——在这里我们可以将环境变量映射到应用程序配置中。您将看到一些现成的示例。您可以在服务名称下添加其他配置,并将其指向环境变量

'google' => [
    'key' => env('GOOGLE_KEY'),
],
然后,当您需要在应用程序中访问此密钥时,您可以通过应用程序配置来获取该密钥

// Through a facade
Config::get('services.google.key');

// Through a helper
config('services.google.key');

请确保不要只在应用程序中使用
env('GOOGLE_KEY)
,在应用程序被缓存时查看应用程序配置更有效,尤其是在部署过程中调用
php artisan config:cache
时。

我的第一个想法是/app/config/目录,但这将提交给版本控制,这可能不是你想要的。谢谢!.env.php文件是否由git自动删除?当前版本的Laravel默认情况下会忽略它们,但我不确定这是何时引入的。如果您最近开始了项目,那么他们应该是,否则您可以自己将其添加到
.gitignore
中。你可以参考《Laravel回购协议》中的
.gitignore
。回答得非常好@Dwight。
// Through a facade
Config::get('services.google.key');

// Through a helper
config('services.google.key');