티스토리 뷰

반응형

 

문제 상황 

평소처럼 공부한 내용을 github에 푸시하고 난 뒤에 메일 하나가 왔다. 내 mongo DB URL 이 노출되었다는 메일이었다. 

gitGurardian이란 별도의 보안 서비스 업체에서 홍보를 겸한 경고 메일이었다.

 

 

처음에 git을 공부하면서 gitignore이란 게 있구나~ 한 적이 있는데 이런 상황이 닥치니 gitignore을 이용한 뭔가가 있겠거니 싶어 또 폭풍 구글 서치..

 

보통 API키나 ID, PW와 같은 기밀 정보를 오픈소스에 올리면 보안 유출 위험이 크므로 보안사항들은 환경변수로 따로 저장해 그 파일은 github에 올라가지 않도록 하는 과정이 필요하다. 

 

과정 중 여러 방법이 있었는데 나는 그중 가장 설정하기 편리하고 뭔가 안전해 보이는(?) dotenv를 설치하여 해결해보려 한다. 

 


문제 해결

사용자의 정보를 숨기고 싶을 때 사용한다. 깃허브 등에 오픈소스로 프로젝트를 공개할 때,
DB 계정 정보를 소스코드 내에 하드 코딩하지 않고, 외부 환경변수 파일에 작성하고,. gitignore을 통해 제외시킨다. 

 

 

1. terminal에서 dotenv설치 

 

 pip3 install python-dotenv

 

 

2.. env 파일 생성 후 환경변수 설정 

 

MONGODB_URL = 'mongodb+srv://                  '

 

 

3. 실행할 파이 썬파일에 하단 내용 추가

 

from dotenv import load_dotenv
import os
load_dotenv()

MONGODB_URL = os.getenv('MONGODB_URL')

 

 

4.. gitignore 파일 생성 후. env 추가

 

 


더 알고 싶은 것 

- dotenv를 상위 폴더에서만 설치, 생성하고 여러 하위 폴더에서 해당 환경변수를 사용할 수 있는가?

 

 

반응형