代码之家  ›  专栏  ›  技术社区  ›  Srini

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

  •  0
  • Srini  · 技术社区  · 6 年前

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

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

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

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

    有没有办法/我应该怎么做?

    :我是 不是

    1 回复  |  直到 6 年前
        1
  •  0
  •   Kamaraju Kusumanchi    6 年前

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

    [topsecret]
    user = foo
    password = bar
    

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

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