오늘은 어제 했던 이메일 인증 코드에 치명적인 단점을 발견했다. 그건 바로 서버호스트를 정하고 메일을 보내주는 역할을 하는 계정의 아이디와 비밀번호를 settings.py 안에 적어놨는데 생각해보니 이것을 깃허브에 바로 올리게 되면 보안상 큰 위협에 처할 것 같다. 따라서 깃허브를 올리기전에 민감한 정보가 들어있는 코드를 숨기는 방법을 찾아보았다.
해결 방법
해결방법은 생각보다 어렵지 않았다. dotenv 모듈을 이용해서 .env 파일을 만들어 환경변수를 설정해야한다.
우선 터미널에서 pip install을 한다.
위와 같이 가상환경안에 설치해준다.
그리고 .env 라는 파일을 만들고 그 안에 내가 감추고 싶은 키값을 넣어준다.
settings.py 안에 import os 를 넣어주고 기존의 키값을 넣었었던 자리안에 os.environ.get("키값을 담았던 변수 이름")을 넣어준다.
이 다음 .env 파일을 불러오기 위해서 manage.py 안에 import dotenv를 적어주고 main 함수 아래에 dotenv.read_dotenv() 라고 입력해준다.
이제 실행해보고 별 다른 오류가 없으면 완료되었다. 다만 민감한 정보를 담고 있는 .env 파일은 .gitignore 설정을 반드시 해줘야만 하는것을 잊지말자