【问题标题】:How to access storage file from .env file in Laravel如何从 Laravel 中的 .env 文件访问存储文件
【发布时间】:2021-03-16 11:55:22
【问题描述】:

我创建了一个 JSON 文件以在我的 Laravel 项目中使用 BigQuery => BigQuery docs。我将文件放在storage 文件夹中以限制其访问。 我只需要从我的.env 文件中访问它。

GOOGLE_APPLICATION_CREDENTIALS='/storage/file.json'

当然,我无法轻松访问该文件夹,而且我知道有多种方法可以访问它,但创建符号链接将使该文件可以从任何地方访问,我不希望这样。有没有一种安全的方式来访问我的 .env 文件中的那个文件?还是有更好的方法,我应该在另一个文件夹中放置 JSON 文件?

【问题讨论】:

  • 首选方法是使用使用.env 变量的配置文件。不要直接使用.env vars
  • 在这种情况下我该如何实现呢?是否有另一个文件可以设置 GOOGLE_APPLICATION_CREDENTIALS ?我需要为此创建一个配置文件吗?
  • Laravel Configuration manual 应该可以帮助您入门,尤其是 Retrieving Environment Configuration。您可以将该文件保存在storage 文件夹中,只是不要直接访问.env 变量
  • 我可以将GOOGLE_APPLICATION_CREDENTIALS= 放入.env 并在config 文件夹中的一个文件中添加一个类似'google_app_cred' => env('GOOGLE_APPLICATION_CREDENTIALS', Storage::get('file.json')) 的配置吗?好像真的错了……

标签: laravel google-bigquery laravel-environment


【解决方案1】:

我强烈反对使用 ENV 变量,而是使用 Secret Manager 在运行时加载,或 KMS(密钥管理服务)

查看laravel-env-security 的实现。

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 2021-07-25
    相关资源
    最近更新 更多