软件位于不同服务器上作为数据库

时间:2016-03-06 13:16:32

标签: php mysql server

我的问题非常简单,但我想知道某人是否是更好的解决方案。

我遇到的问题是将MySQL数据库放在与软件本身不同的服务器上。 我听说,在声明与数据库的“localhost”不同的主机时存在安全问题,所以我问如果你们中的任何人知道答案或者知道如何处理它。

这项任务背后的理念如下:

如果我向客户提供软件,但不希望他们访问源代码(当服务器在他们的办公室时非常简单),我将它放在我自己的服务器上并授予他们访问权限它。 然后客户说他们不希望我们访问他们的数据,他们存储在数据库中。

所以现在我的问题是,如何能够找到满足这两种需求的解决方案。我和那些客户。

我希望你能理解我的意思。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

我认为不可能有一个满足你所设定条件的双方的解决方案。

如果软件是您服务器的软件,那么您可以控制它,并且可以让它做任何您喜欢的事情。如果它可以访问他们的数据库,那么它可以使用该数据执行任何操作。

如果软件在他们的服务器上,那么他们可以访问源代码。除非你混淆它,否则在这种情况下:

  • 他们不能(完全没有让它访问互联网)确保你不能对他们的数据做些蠢事
  • 他们可以对其进行反混淆(更有可能)。

在某些时候,你和他们之间需要有信任。

鉴于对保护数据库的最大担忧源于与遵守行业法规相关的问题,这种信任可能不得不来自您。

编写软件许可证,限制他们可以对源代码执行的操作。考虑为“源许可证”额外收费。

答案 1 :(得分:0)

这是一个有趣但不简单的问题。有几种方法可以实现某种安全机制:

  • 将您的php应用程序部署到客户服务器,但使用ZendGuard之类的东西对其进行保护。在这种情况下,您的客户无法获得源代码的简单访问权限,也无法获取他们的数据。
  • 在您的站点上部署您的应用程序,并且不能访问完整数据库,而是访问受限制的版本(例如使用视图限制)。在这种情况下,您的客户无权访问源代码,但您可以访问其数据的某些子集。