1
6
据我记忆所及,没有任何商业产品 “保护” 考虑以下几点:
我不关心我使用的产品的大多数数据库内部。这是另一个原因,我认为他们中的大多数人没有采取任何行动来保护他们。他们中的大多数人都没有那么有趣。 一方面,我坚信用户不需要知道或关心数据库的内部结构。但在同一层面上,作为一名开发人员,我认为保护他们是不值得的。对用户隐藏它们,是的。保护它们不受直接访问,在大多数情况下,不是因为我认为保护您的模式是错误的。这是因为我认为这是一件非常困难的事情,不值得你作为一名开发人员花费时间。 风险 涉及的对 成本 当前的数据库引擎,嵌入式的或服务器式的,并不是为了容易隐藏数据库的模式而设计的,因此,对于大多数人来说,这样做的开发成本远远大于所涉及的风险。 但你的情况可能不同。 |
2
2
大多数商业产品不保护其模式。他们分为两大阵营之一: 或者他们正在为产品的关键组件(如工资单系统)使用企业级数据库,在这种情况下,不会试图隐藏模式/数据。在大多数情况下,客户都需要对数据库进行控制—配置数据库的备份方式,创建群集环境,等等。
|
3
1
你想解决什么问题?没有什么能阻止DBA*对标准数据库做任何他想做的事情,正如其他人指出的那样,干扰站点特定的需求(如备份和数据库升级)是非常有害的。您最多可以加密数据库的内容,但即使这样,您也必须为应用程序提供一个解密密钥,以便实际运行,而一个有动机且怀有敌意的DBA可能会破坏它。 毫无疑问,军方和情报机构都有数据库,甚至连模式都是高度机密的,但我不知道他们是否受到技术手段的保护,或者仅仅是持枪的大个子。 (*)DBA或系统管理员能够修改pg_hba.conf等文件。 |
4
0
我不相信大多数商业产品会做任何事情来保护它们的模式。 |
5
0
当某个嵌入式DBMS用户可以物理访问运行该DBMS的机器时,该用户如何阻止该用户修改其存储(非嵌入式硬件上下文中的文件)? Security through obscurity 这是一个冒险的提议。 |
6
0
这种想法将面临与DRM相同的问题。你不能阻止客户访问,你只会给你的客户带来普遍的痛苦。不要这样做。 SQLite将其整个数据库格式封装到一个文件中,您可以在适当的位置对其进行加密和解密。当然,缺陷在于用户现在就需要使用数据库的密钥,而唯一的方法是你把它交给他们,可能是在编译时硬编码(由于模糊性带来的安全性)或电话回家方案(这是一个坏主意的全部原因)。另外,现在他们会恨你,因为你阻止了任何有用备份系统的尝试,而且他们的启动性能很差。
如果它对您来说真的那么重要,那么请改为使用托管应用程序。 |
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
Max J. · 用整数作为键将dict写入csv 2 年前 |