我的问题非常简单,但我想知道是否有人有更好的解决方案。
我遇到的问题是将 MySQL 数据库放在与软件本身不同的服务器上。 我听说,在为数据库声明与“localhost”不同的主机时存在安全问题,所以我问你们是否知道答案或知道如何处理它。
此任务背后的想法如下:
如果我向客户提供软件,但不希望他们访问源代码(当服务器位于他们的办公室时,这非常简单),我会将其放在我自己的服务器上并允许他们访问它。 然后客户说他们不希望我们访问他们存储在数据库中的数据。
所以我现在的问题是,如何才能找到一个满足这两种需求的解决方案。我的,还有客户的。
希望你能明白我的意思。
感谢您的帮助!
最佳答案
我认为不可能有一个让双方都满足你设定的条件的解决方案。
如果该软件是您的服务器,那么您可以控制它,并且可以让它做您喜欢的任何事情。如果它可以访问他们的数据库,那么它可以使用该数据做任何你想做的事情。
如果软件位于他们的服务器上,那么他们就可以访问源代码。除非你混淆它,在这种情况下:
- 他们无法(除非根本不让其访问互联网)确保您无法利用他们的数据进行不正当行为或
- 他们可以对其进行反混淆(可能性更大)。
在某些时候,你和他们之间需要建立信任。
鉴于对保护数据库的大多数担忧都源于与遵守行业法规相关的问题,这种信任可能必须来自您。
编写软件许可证来限制他们可以使用源代码执行哪些操作。考虑向他们收取额外的“源许可证”费用。
关于php - 软件与数据库位于不同的服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35827280/