【问题标题】:What is the best way to save connection strings in a database?在数据库中保存连接字符串的最佳方法是什么?
【发布时间】:2015-02-22 09:12:43
【问题描述】:
我正在编写一个内容交付系统,它将数据保存在其他公司的 ftp-server 上。为此,我必须将连接信息(例如主机、用户名、密码……)存储在数据库中。
我将对数据进行哈希处理,并考虑将盐保存在根目录之外的配置文件中。但我不喜欢将数据写入文件的想法。
有没有更好的办法来保存盐分?
【问题讨论】:
标签:
php
mysql
database
database-design
【解决方案1】:
您可以尝试通过 ssh 密钥进行操作。客户公司将生成一对密钥并将其公钥上传到您的系统中。然后,您的系统可以使用此公钥建立连接并完成工作。
这样他们就很容易禁用此类公钥(无需更改所有相关系统中的密码)。他们可以将公钥设置为在特定时间过期,等等。他们(客户)应该对此感到更安全。
您可以将公钥存储在数据库或文件中,但使用数据库方法应该更容易保护这些密钥。无论如何...保护数据库是您的责任。那就是 - 怎么做 - 一个完全不同的问题:)
我相信您可以找到有关使用任何 php 框架的 ssh 密钥进行身份验证的信息,并且在原始 php 中您也可以使用:例如ssh2_auth_pubkey_file。