php – 如何保护存储在Laravel环境文件中的数据库凭据?

php – 如何保护存储在Laravel环境文件中的数据库凭据?,第1张

概述我最近切换到Laravel的基于环境的应用程序部署,我决定使用$_ENV在.env文件中存储我的本地和生产服务器的凭据但是我发现调试打开时会发生异常并引发错误显示公开数据库凭据的环境变量. 现在我确定调试将始终关闭生产,因为这是我默认的,然后我在我的本地环境的本地文件夹中覆盖它,但是,如果不知何故某些调试在生产时打开并且用户强制404例外,他们需要做的就是读取页面,直到他们在普通视图中看到环境变量 我最近切换到Laravel的基于环境的应用程序部署,我决定使用$_ENV在.env文件中存储我的本地和生产服务器的凭据但是我发现调试打开时会发生异常并引发错误显示公开数据库凭据的环境变量.

现在我确定调试将始终关闭生产,因为这是我默认的,然后我在我的本地环境的本地文件夹中覆盖它,但是,如果不知何故某些调试在生产时打开并且用户强制404例外,他们需要做的就是读取页面,直到他们在普通视图中看到环境变量暴露凭证.在文档中,它表示对任何“真实”应用程序来说,保持数据库凭据远离实际配置是最佳做法.我在这里可能有点偏执.

有没有办法可以限制laravel显示的调试屏幕中显示的内容?

我刚刚遇到了同样的问题,而我正在研究的项目要求我暂时打开我的开发机器到邪恶的外部世界来测试一些API回调.

因此,每当触发呐喊时,我都会暴露所有宝贵的密钥和密码.即使它是一个盲目的API回调机器,他们有机会记录对他们的请求的响应和一些工程师筛选它们并找到一些AWS密钥,不,谢谢.

这就是我现在使用的:

App::error(function (Exception $exception,$code){    // Never,ever,use environment variables in responses,not even when deBUGging    $_SERVER = array_except($_SERVER,array_keys($_ENV));    $_ENV = [];});
总结

以上是内存溢出为你收集整理的php – 如何保护存储在Laravel环境文件中的数据库凭据?全部内容,希望文章能够帮你解决php – 如何保护存储在Laravel环境文件中的数据库凭据?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1268032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存