如何使用Ruby安全地连接到PostgreSQL数据库?

时间:2016-04-16 17:09:03

标签: ruby postgresql security

我将密码保存在文件中感到很不舒服:

require 'pg'
conn = PG::Connection.open(host: 'server.example.com', password: 'hello_everyone')

另外,有没有办法确定或确保传输是加密的?我只是担心在本地运行我的应用程序时,它必须连接到远程数据库(我担心所有数据,包括身份验证凭据,以明确方式发送)的影响。

1 个答案:

答案 0 :(得分:1)

关于密码

我建议在ENV变量中设置它。看看dotenv gem。基本上,您将能够执行以下操作:

require 'pg'
conn = PG::Connection.open(host: ENV['database_host'], password: ENV['database_password'])

加载到ENV中的值将存储在提交的文件(.env)中。

关于数据加密

您应该查看SSH tunneling以连接到远程数据库。