防止复制/复制 PHP/SQL 数据库


Preventing copying/duplicating of a PHP/SQL database

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

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

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

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

"最佳"解决方案是

  1. 使用未在任何地方键入的密钥(您的密码)加密PC上的所有内容
  2. 锁定你的电脑,以便有人无法复制它。

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

您也可以加密数据库中的数据 - 但密钥将保存在某个地方。如果他们可以访问您的 PC,则可以访问解密密钥。其他"编程"防御(例如检查计算机硬件/注册表项等)也可以进行编程。

因此,这又回到了加密您的PC,因为希望加密密钥不会被写下来,并锁定以便有人无法首先获取数据。

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

真的,当你考虑它时,这是一件事。 毕竟,如果服务器崩溃会发生什么? 您真的希望绝对无法将数据还原到另一台服务器吗?

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

我非常赞赏这些答案,但由于我在目前的答案中没有得到一个合适的解决方案。经过一些研究并牢记答案,我找到了一种方法。我们可以创建一个数据库,该数据库依赖于客户端PC中的一些加密隐藏文件或机器代码或密钥等。我们必须开发一个脚本来在数据库安装时应用这些安全措施(隐藏文件或机器代码或密钥)。如果没有正确完成安全措施(隐藏文件或机器代码或密钥),数据库就不应该工作。开发人员应随身携带安装脚本,并在将数据库安装到客户端 PC 时使用它。如果没有该脚本,将无法安装数据库,因此未经开发人员许可,任何人都无法安装/复制数据库。考虑到答案和评论,这似乎是做到这一点的唯一简单方法。