当您将调试设置为 false 时,如何在 Lumen 中隐藏 .env 密码?
How to hide .env passwords in Lumen when you leave debug as false?
如何在 Lumen 的屏幕上隐藏我的密码和其他敏感环境变量(不是 Laravel)?
有时我们要么忘记要么在开发中测试smth并在.env文件中设置debug=false。即使在开发阶段,我们可能也不希望其他人看到此类信息。
还有一些不知道这一点的人,如果在打开页面或发出请求时抛出异常,.env 文件中的所有内容都会显示在浏览器中,包括数据库密码等 - "and this is how you debug"!
我找到了 Laravel 的解决方案,但我也需要 Lumen 的解决方案!
Laravel 的解决方案:
如果 Laravel 团队将此设置为默认设置会更好,但在 Laracast 中进行了一些讨论后我不太乐观!
我希望开发人员知道这个问题并且非常非常小心,因为忘记它或者甚至在开发中测试它都有被黑客攻击的巨大风险!
谢谢!
您可以在 ÈxceptionHandler
class 中完全自定义调试输出。
由您决定,您希望如何将异常转换为 json 响应
2 个选项:
- 不要安装开发依赖项:
composer install --no-dev
- 使用专业的MVC框架
您可以通过在config/app中添加以下代码来隐藏敏感信息。php
'debug_blacklist' => [
'_ENV' => [
'APP_KEY',
'DB_PASSWORD',
],
'_SERVER' => [
'APP_KEY',
'DB_PASSWORD',
],
'_POST' => [
'password',
],
],
如何在 Lumen 的屏幕上隐藏我的密码和其他敏感环境变量(不是 Laravel)?
有时我们要么忘记要么在开发中测试smth并在.env文件中设置debug=false。即使在开发阶段,我们可能也不希望其他人看到此类信息。
还有一些不知道这一点的人,如果在打开页面或发出请求时抛出异常,.env 文件中的所有内容都会显示在浏览器中,包括数据库密码等 - "and this is how you debug"!
我找到了 Laravel 的解决方案,但我也需要 Lumen 的解决方案!
Laravel 的解决方案:
如果 Laravel 团队将此设置为默认设置会更好,但在 Laracast 中进行了一些讨论后我不太乐观!
我希望开发人员知道这个问题并且非常非常小心,因为忘记它或者甚至在开发中测试它都有被黑客攻击的巨大风险!
谢谢!
您可以在 ÈxceptionHandler
class 中完全自定义调试输出。
由您决定,您希望如何将异常转换为 json 响应
2 个选项:
- 不要安装开发依赖项:
composer install --no-dev
- 使用专业的MVC框架
您可以通过在config/app中添加以下代码来隐藏敏感信息。php
'debug_blacklist' => [
'_ENV' => [
'APP_KEY',
'DB_PASSWORD',
],
'_SERVER' => [
'APP_KEY',
'DB_PASSWORD',
],
'_POST' => [
'password',
],
],