在数据库中保存连接字符串的最佳方法是什么?

What is the best way to save connection strings in a database?

我正在编写一个内容传送系统,它可以在其他公司 ftp- 服务器上保存数据。为此,我必须将连接信息(如主机、用户名、密码等)存储在数据库中。

我将散列数据并考虑将 salt 保存在 root 之外的配置文件中。但是我不喜欢将数据写入文件的想法。

有没有更好的方法来节省盐分?

您可以尝试通过 ssh 密钥来完成。客户公司将生成一对密钥并将其 public 密钥上传到您的系统中。您的系统可以 - 然后 - 使用这个 public 键来建立连接并完成它的工作。

这样他们就可以很容易地禁用这样的 public 密钥(无需更改所有相关系统中的密码)。他们可以设置 public 键在特定时间过期,等等。他们(客户)应该对此感到更安全。

您可以将 public 密钥存储在数据库或文件中,但使用数据库方法应该更容易保护这些密钥。无论如何......这是你保护数据库的责任。那就是——怎么做——一个完全不同的问题:)


我相信您可以找到有关在任何 php 框架中使用 ssh 密钥进行身份验证的信息,并且在原始 php 中,您也可以使用 ssh2_auth_pubkey_file 进行身份验证。