python-3.x - 将 sqilte 文件推送到公共仓库是否安全?
问题描述
我正在使用sqlite3
Python,我的.db
项目中有一个文件,它包含与用户、密码哈希、用于哈希的盐、用户名等相关的所有详细信息。这个文件位于本地 git 存储库中。我确实有这个项目的远程公共回购。但我担心将数据库文件推送到公共仓库是否是个好主意?
我应该将回购设为私有吗?或者我应该将此文件添加到.gitignore
列表中并使用空数据即时生成数据库和表?
或者有没有一种方法可以使用类似于 MySQL 的用户名和密码来保护数据库,而不是完全一样,因为 MySQL 在服务器上运行,并且您输入用户名和密码以使用服务器而不是特定数据库?
我知道将一些基于云的数据库与 API 一起使用可能是一个更好的主意,但这只是一个基本级别的项目,我没有太多与基于云的数据库相关的经验,但用户可能会提供实际敏感的数据。
那么将文件推.db
送到公共远程仓库是否安全?
解决方案
Git 与任何其他 CVS(并发版本控制系统)一样,旨在存储源代码和所有文件,包括二进制文件(可能由Git LFS提供),这些文件不能由工具、源代码或脚本按需生成。
关于数据库的具体情况,您应该提供 DDL 脚本来重现 DB 模式,并提供删除保留数据的 SQL 代码以再次填充它。
一个好的方法是在 SQL 文件中引入占位符,以及需要敏感数据来替代上述占位符的脚本。
推荐阅读
- c# - RaspPi .net 使用 gpio(c# 和单声道)形成崩溃
- amazon-web-services - 在烧瓶应用程序中出现 403 禁止错误
- javascript - 如何在 React Native 中隐藏底部操作栏
- c++ - 我可以在命名空间中包含头文件吗?
- ssl - 自定义 OpenSSL 配置文件以使其与自定义引擎和 TLS v1.0 一起使用
- javascript - 通过数组 node.js 中的项目进行映射
- mongodb - 无法从 mongodb 驱动程序中获取任何文档
- r - 通过 sjPlots tab_model 和 emmeans contrast 函数调整后来自同一 LMM 的不同调整 p 值?
- python-3.x - 在 Pandas 中对不同的组和多列应用不同的功能
- r - 从包含星期数、星期几的数据框中获取日期(yyyy-mm-dd)