如何避免将用户名和密码存储为连接字符串的一部分

2024-04-20 01:07:43 发布

您现在位置:Python中文网/ 问答频道 /正文

情况

我的团队使用NFS。我编写了一个连接到数据库的python脚本。人们执行我的python脚本,并基于我们后端mongodb数据库中与他们的userid关联的一些值,该脚本为他们执行某些操作

我的问题

我有一个像这样的mongodb连接字符串

database_client = MongoClient("mongodb://<myusername>:<mypassword>@serverip:port/DBName")

问题是,任何人都可以简单地阅读py脚本,并知道我的用户名和密码是什么。在

什么不是ehan选项>

不允许使用Python脚本和不透明的可执行文件。更不用说它也不能保护我的证书不被泄露给其他在同一个代码库工作的tram成员。也不能使db world可编辑/可读。所有编辑数据库的请求都必须经过授权的帐户,并且只能通过脚本提供的API。在

有没有办法这样做/我应该做什么?在

编辑:我不使用Heroku。我在公司防火墙后面,mongoDB服务器是一台在公司网络上有IP的机器


Tags: 字符串脚本client数据库编辑mongodb情况公司
1条回答
网友
1楼 · 发布于 2024-04-20 01:07:43

一种方法是从配置文件中读取用户名和密码,例如

[topsecret]
user = foo
password = bar

通过这种方式,您可以与任何人共享代码,并且只有当他们拥有有效的配置文件时,他们才能执行代码。在

1您可以使用configparser模块https://docs.python.org/3.4/library/configparser.html来解析上述配置文件。在

相关问题 更多 >