gpt4 book ai didi

javascript - 在 Electron 应用程序中隐藏密码

转载 作者:行者123 更新时间:2023-12-03 12:40:20 24 4
gpt4 key购买 nike

我有一个 Electron 应用程序,需要连接到外部PouchDB/CouchDB和FTP服务器来检索一些数据。所以在我的代码中

remoteDB = new PouchDB('http://my-Couch-User:my-Couch-Password@123.456.789.225:5984/myDB');
ftp.connect({host: ServerIPAddress), user: 'my-FTP-user', password: 'my-FTP-Password'});

我没有使用高度 secret 的数据,但是以一种易于阅读的形式公开了我的外部服务器密码,这让我大吃一惊。

有没有人知道如何至少将它们隐藏一点? (我知道没有办法在JavaScript下真正保护它们)

最佳答案

考虑将 secret 数据存储在环境变量中,然后通过process.env.FTP_USERNAMEprocess.env.FTP_PASSWORD访问它们。

密码或 token 确实不应被硬编码和可读。

如果您有很多配置值,凭据或 token ,则可以考虑使用dotenv(https://www.npmjs.com/package/dotenv)或类似的东西。

编辑

现在,我们在此答案下方的评论中了解了OP要求。

  • 无法在任何应用程序中隐藏密码。始终可以提取它们。
  • 考虑更改服务器端代码,以便您的应用程序不直接与FTP服务器通信,而是与不需要凭据的代理通信。然后,代理与FTP服务器进行对话,并且不会公开凭据。
  • 考虑使用一种系统,该系统除了提供凭据外还通过 token 提供访问权限。您可以要求用户使用其个人凭据登录,系统可以为服务器生成并发送个人访问 token 。
  • 关于javascript - 在 Electron 应用程序中隐藏密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62028806/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com