0

我正在创建一个商店库存管理 PHP/SQL 数据库,它将在商店的本地服务器上使用。现在我遇到了一个问题。如何防止有人未经许可将数据库从我的客户端 PC 复制到另一台 PC?我们如何开发一个只有开发人员才能安装的数据库?一些建议可能是:

  • 使用机器代码等,例如数据库只能在一台 PC 上运行,但仍有一些人可能会更改控制器代码并在未经开发人员许可的情况下非法复制它。
  • 其他建议可能是使用登录系统,但客户端仍然可以将副本提供给其他人并共享登录信息。

所以我的问题是:有没有防止非法复制php/Sql数据库的好方法?

换句话说:有没有办法让数据库只在客户端 PC/PC 上工作,这样如果有人将它复制到其他 PC 上,它就不会工作?请帮忙!

4

3 回答 3

0

无法安装特定于机器的数据库。你能做的最好的就是将它存储在一个加密的文件系统上,采取安全预防措施,例如对服务器进行基于强密钥的身份验证访问,关闭不使用的端口,确保软件是最新的,加密所有客户端和服务器之间的通信等,并在物理上保护机器。(这就是为什么,例如,谷歌的数据中心的访问控制如此严格,设施的安全性很高,而且作为一般规则,他们甚至不公布其数据中心的位置。)

真的,当你想到它时,这是一件好事。毕竟,如果服务器崩溃了怎么办?您真的希望绝对没有办法将数据恢复到另一台服务器吗?

安全性很重要,但它可以做的只有这么多。在某些时候,您将不得不基于实际考虑做出妥协。

于 2012-07-01T06:33:27.047 回答
0

我非常欣赏这些答案,但因为我在目前的答案中没有得到一个非常合适的解决方案。经过一些研究并查看答案后,我找到了一种方法。我们可以创建一个数据库,该数据库依赖于客户端 PC 中的一些加密隐藏文件或机器代码或密钥等。我们必须开发一个脚本来在安装数据库时应用这些安全措施(隐藏文件或机器代码或密钥)。如果没有正确执行安全措施(隐藏文件或机器代码或密钥),数据库将无法工作。开发人员应随身携带安装脚本,并在将数据库安装到客户端 PC 时使用它。没有该脚本将无法安装数据库,因此未经开发人员许可,任何人都无法安装/复制数据库。

于 2012-07-01T16:24:10.593 回答
0

对此的“最佳”解决方案是

  1. 使用未在任何地方键入的密钥(您的密码)加密您 PC 上的所有内容
  2. 锁定你的电脑,这样别人就不能复制它。

如果有人掌握了数据,即使是加密的,如果他们愿意,他们也会解密。所以阻止他们访问它是你最好的防御。

您也可以加密数据库中的数据 - 但密钥将保存在某处。如果他们可以访问您的 PC,他们就可以访问解密密钥。其他“编程”防御(例如检查计算机硬件/注册表项等)也可以循环编程。

因此,这又回到了加密您的 PC 上,因为希望加密密钥没有被写下来,并且被锁定,这样一开始就有人无法获取数据。

于 2012-07-01T02:09:09.500 回答