首先要解释一下,我们有一些网站都连接到中央数据库。作为一项规则,我们不允许客户端访问其网站的FTP,因此他们无法访问其中包含数据库凭据的任何文件。 99.9%的时间没问题。
但是我们有一个客户坚持他们有完整的FTP访问权限。他们想要添加广告/跟踪内容,我已经在另一个目录中设置了他们自己的数据库和一个锁定的FTP,但这显然不够好。
现在我确信他们不打算窃取我们的mysql凭据并连接并清除我们的数据库,但毫无疑问,您会同意其巨大的安全风险。
有没有办法:
a)连接到数据库,他们没有看到代码中的凭据
b)阻止他们添加自己的代码并连接到中央数据库,只有他们自己的
非常确定没有什么是100%安全的,因为给他们FTP访问意味着他们可以尽我所能,但想知道是否有其他人有任何想法?
答案 0 :(得分:0)
在没有编写RESTful API(您已经表明不可行)的情况下“安全地”执行此操作的唯一方法是在MySQL中为他们创建一个特殊的用户帐户,该帐户无法访问不属于他们的记录。说实话,如果你正确地做到这一点,你应该为所有客户做到这一点,虽然我知道这可以是很多维护。
关于加密,没有办法加密客户端的数据库凭据,并在没有某些中间代码的情况下为数据库登录解密。如果客户端拥有自己的MySQL帐户进行访问,这无关紧要。
答案 1 :(得分:0)
对于仍在寻找一些解决方案的人,我找到了一个关于如何使凭证更安全的很好的教程。作者提议在应用程序内创建附加层加密密码和解密。