如果服务器端(私有密钥)也存储在同一.env文件中,使用dotenv库访问公共密钥(在前端模块中)是否安全?

当我的.env文件还存储仅由服务器使用的PRIVATE(即秘密)密钥时,可以安全地使用“ dotenv”库访问客户端/前端代码的PUBLIC密钥吗?

我是否需要担心在访问前端的PUBLIC密钥时公开服务器端代码使用的PRIVATE密钥?

例如:

/* SOME FRONT-END (CLIENT-SIDE) COMPONENT */

require('dotenv').config() // really hope I'm not exposing my private keys here ?

const myPublicKeyThatIsOkayForThePublicToSee = process.env.SOME_PUBLIC_KEY

// end of file... never access any PRIVATE keys,but hopefully they weren't exposed above

我希望能够放松一下,因为我可以将所有密钥存储在一个文件中,因为这将使我的开发过程更加容易(项目更易于维护,等等)。似乎很烦恼,必须将密钥存储在两个单独的位置;宁愿只使用一个大型的配置文本文档(如.env文件),所有密钥都位于该文档中,并且我可以使用“ PRIVATE_”标签和“ PUBLIC_”命名PUBLIC变量来命名PRIVATE密钥。​​

所需的.env文件示例:

PUBLIC_SOME_3RD_PARTY_API_AUTH_accESS_TOKEN=d678h678hs6s78g6h7s8gf9g6f9

PRIVATE_SOME_3RD_PARTY_APP_KEY=c41v987gtuig78ghjk43j6h50952gds
PRIVATE_SOME_3RD_PARTY_APP_PASSWORD=93kjc7830hg874njbx89724oidbf78

我很抱歉以前是否已回答此问题,但我认为值得一问,因为如果我在应用程序中错误地实现了密钥存储/访问,则可能存在潜在的安全问题。

如果这样做不安全,那么实现前端密钥存储的更好方法是什么?我应该只定义一个单独的public.client.keys.js文件还是类似的东西,并在必要时在前端模块中导入密钥?

在此先感谢您的帮助。

abiaoa 回答:如果服务器端(私有密钥)也存储在同一.env文件中,使用dotenv库访问公共密钥(在前端模块中)是否安全?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2448825.html

大家都在问