Sobre deixar aplicação web open source

Eu estou desenvolvendo uma aplicação web. Esta aplicação vai ser open source, no começo eu estava me perguntando se isso é uma ideia inteligente porque afinal qualquer pessoa teria acesso ao código e poderia entender como a aplicação funciona com facilidade para fazer um ataque, mas daí eu percebi que sim, não tem problema algum, desde que eu desenvolva uma aplicação segura. Cheguei a essa conclusão porque vi muitas aplicações web grandes sendo open source. Até aí tudo bem, mas tem uma coisa que é crucial para essa segurança…credenciais…na minha aplicação existem muitas credenciais, tais como de banco Mysql, de serviço SMTP, e isso não pode ficar acessível a qualquer um que for ver o código.
Não sei se o git oferece alguma ferramenta para isso, desde já vou dizendo que essa aplicação está sendo desenvolvida em Django (caso alguém saiba se o Django oferece alguma ferramenta para isso).

Pensei em carregar todas essas credenciais a partir de um arquivo…eu tenho um repositório com 2 remotes, um remote é do Github e o outro é da Heroku, onde minha aplicação está hospedada. Pensei em ter um gitignore somente no remote do Github e ignorar esse arquivo com as credenciais, e no remote da Heroku não para que funcione. Seria isso possível?

Invariavelmente você vai precisar definir um (ou mais) arquivos para configurar elementos como os dados de conexão do banco de dados.

1 curtida

Uma forma de fazer isso no Heroku é usando variáveis de ambiente. Na sua aplicaçao no Heroku você configura os valores de produçao.

O que costumo fazer é o código colocar valores comuns para ambiente de desenvolvimento, se as variáveis de ambiente nao estiverem definidas.

Dessa forma, todos seus segredos de produçao sao gerenciados no Heroku e o setup do ambiente de desenvolvimento é ligeiramente mais simples pois nao é preciso configurar nada.

1 curtida

Perfeito! Não pensei nas variáveis de ambiente…vou pesquisar como usá-las e alterar o meu código.