我在名为knexfile.js
的文件中有以下代码module.exports = {
development: {
client: 'mysql',
connection: {
database: 'myDatabase',
timezone: 'Z',
user: 'root',
password: 'myPassword',
host: '127.0.0.1'
},
pool: {
min: 2,
max: 10
},
migrations: {
tableName: 'myMigrationTable'
}
}
};
上面代码中的myPassword 是纯文本。在我的生产服务器上,我绝对不希望我的代码使用我的数据库进行身份验证的代码中的明文密码。我也不希望它在我的服务器上以纯文本形式存在。
在knex或节点中是否有办法轻松处理安全登录我的数据库?我应该只是简单地加密我的密码,将其保存在我的服务器上的文件中,并在它登录时使用我的webapp解密它?
答案 0 :(得分:2)
最佳做法是使用环境变量。
knex = require('knex')({
client: 'mysql',
connection: process.env.DATABASE_URL
})