来自 Dockerfile 的值可在 Sources 选项卡中搜索 - 如何保护环境变量?

Posted

技术标签:

【中文标题】来自 Dockerfile 的值可在 Sources 选项卡中搜索 - 如何保护环境变量?【英文标题】:Value from Dockerfile searchable in Sources tab - how to secure environment variables? 【发布时间】:2021-11-30 13:54:29 【问题描述】:

我有一个 React Web 应用程序,我从部署到 Digital Ocean 的应用程序平台的 Dockerfile 读取环境变量。如果我搜索价值的关键,我可以看到价值的所有荣耀。我添加密钥时是否做错了什么?

这是 Dockerfile 中指定的键:

ARG REACT_APP_STRIPE_PUBLISHABLE_KEY=pk_live_51I...wzs

这是在 Chrome 的 Sources 选项卡中搜索后的值:

, E = n(309)
, G = Object(j.a)("pk_live_51I...wzs")

如何防止网络访问此值?

【问题讨论】:

【参考方案1】:

可发布 API 密钥旨在用于客户端,例如在浏览器或移动应用中。这意味着任何人都可以看到它们,这与您的代码无关,它们只是以这种方式设计的,而且是安全的。您要保密的是 Secret API 密钥 (sk_live_123)!

Stripe 在这里有更多详细信息:https://stripe.com/docs/keys

【讨论】:

以上是关于来自 Dockerfile 的值可在 Sources 选项卡中搜索 - 如何保护环境变量?的主要内容,如果未能解决你的问题,请参考以下文章

OpenStreetMap 是不是有 Point(Source) to Point(Destination) 方向 uri 可在 Android 中使用?

ENTRYPOINT/CMD process 入口点进程是什么?Docker容器Dockerfile entrypoint.sh文件作用,为什么在脚本开头要执行source ~/.bashrc?

ENTRYPOINT/CMD process 入口点进程是什么?Docker容器Dockerfile entrypoint.sh文件作用,为什么在脚本开头要执行source ~/.bashrc?

测试容器:忽略来自 Dockerfile 的父“EXPOSE”指令

可以将来自docker-compose.yml的env变量传递给dockerfile吗?

解析字典行为奇怪