【问题标题】:How to hide personal data in Python script如何在 Python 脚本中隐藏个人数据
【发布时间】:2023-03-17 20:04:01
【问题描述】:

我需要将Python 脚本推送到Git repo。脚本包含带有个人数据的变量,例如 USER_NAME = "some_name"USER_PASS = "some_password"。其他用户可以访问此数据。我想隐藏这些数据。

我发现了以下方法:

  • 使用USER_NAME = "some_name"USER_PASS = "some_password" 创建单独的data.py 模块
  • 导入一次生成编译版本-data.pyc
  • 更改主脚本源:变量应该可以像

    一样访问

    import data

    username = data.USER_NAME

    password = data.USER_PASS

  • 删除data.py并推送data.pyc进行回购

这很有希望,但实际上data.pyc 中的数据看起来像???some_namet???some_passwords??? 并且仍然可以识别为用户名和密码。

那么在Python 脚本中隐藏数据的最佳做法是什么?

【问题讨论】:

  • 其他用户是什么意思?您是指运行脚本的人还是将同时编写脚本的人?
  • 是的,也可以访问 Git 项目并使用此脚本的人

标签: python git


【解决方案1】:

包含在 git repo 代码中以从环境变量中读取这些内容。在目标机器上,设置这些环境变量。这可以手动完成,也可以使用您的存储库中未包含的脚本来完成。在自述文件中包含说明

【讨论】:

    【解决方案2】:

    尝试使用 YAML 文件而不是将其推送到您的存储库,例如来自 here。您可以使用 python 模块yaml 来读取数据。

    【讨论】:

    • 对于 YAML,请确保使用 safe_load 以避免尝试反序列化和不安全。
    【解决方案3】:

    您不应将敏感信息放入代码中,也不应将它们存储到公共存储库中。

    最好遵循 Joel Goldstick 的建议并修改您的代码以从私人来源获取密码,例如本地环境变量或本地模块。

    尝试在谷歌上搜索“python 存储敏感信息” 以了解一些想法(和涉及的问题)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-16
      • 2021-01-26
      • 2022-01-05
      • 2022-12-29
      • 1970-01-01
      相关资源
      最近更新 更多