我有一个本地制作的Django网站,我把它托管在Heroku上,同时我将更改推送到anathor github存储库。我正在使用内置数据库来存储数据。其他用户是否能够从我的存储库获取已在数据库中输入的数据(如用户详细信息(?
如果是这样,如何防止它发生?像将文件添加到.gitignore 这样的解决方案也将阻止推送到 Heroku。
如果你不在 git 存储库中推送敏感信息,没有人可以窃取你的数据。切勿将您的凭据推送到公共存储库。
使用以下方法之一。
- 为凭据创建一个单独的文件,并将其添加到 .gitignore 文件并将其手动复制到服务器。
- 将凭据保存在.env文件中,并使用python包从那里读取信息。
有关更多详细信息,请阅读以下线程:
- https://www.reddit.com/r/learnpython/comments/264ffw/what_is_the_pythonic_way_of_storing_credentials/
- Python/Django - 避免在源代码中保存密码
代码本身不足以访问数据库。为此,您需要数据库名称和密码,它们根本不应该在您的 git 存储库中。
在 Heroku 上,您可以使用环境变量 - 由 postgres 插件自动设置 - 以及dj_database_url库,该库将其转换为 Django DATABASES 设置中的相关值。