No código original, as credenciais do banco de dados estão sendo inseridas diretamente na string de conexão, o que pode trazer riscos de segurança, como exposição acidental do usuário e senha no código-fonte ou em repositórios versionados.
Minha sugestão é utilizar variáveis de ambiente (process.env)
para armazenar essas informações sensíveis, tornando o código mais seguro e flexível.
Benefícios dessa abordagem:
- ✅ Segurança: evita expor credenciais no código e reduz o risco de vazamentos acidentais.
- ✅ Facilidade de configuração: permite alterar as credenciais sem modificar o código-fonte.
- ✅ Boa prática: segue princípios de desenvolvimento seguro e facilita a conformidade com padrões de segurança.
import mongoose from "mongoose";
const user = process.env.MONGODB_USER
const password = process.env.MONGODB_PASSWORD
async function conectaNaDatabase() {
mongoose.connect(`mongodb+srv://${user}:${password}@cluster0.jtryg.mongodb.net/livraria?retryWrites=true&w=majority&appName=Cluster0`);
return mongoose.connection;
}
export default conectaNaDatabase;
Lembre-se de que, para que essa abordagem funcione, você precisa configurar as variáveis de ambiente no seu sistema operacional.