Secret-Key 분리

Error Coder·2022년 11월 26일
0

Project를 작성할 때 secret_key를 분리 안하고 github에 commit하였다.
혼자 프로젝트를 만들 경우엔 별 상관이 없을지언정 취업 후에나 큰 프로젝트를 맡을 경우 이런 문제는 아주 큰 문제로 변할 수 있다.
난 이 문제에 대해 알지 못하였다가 친구의 도움으로 알게 되었고 얼른 secret_key를 분리하여 .gitignore에 옮겨놓았다.

오늘은 내가 몰랐던 secret_key를 분리하는 절차를 적어볼까 한다.

  1. 먼저 난 이미 secret_key를 commit했기 때문에 secret_key를 새로 받아야 했다.
    https://djecrety.ir/에서 새로 secret_key를 받았다.

  2. secret.json 파일을 만들어 manage.py와 같은 라인에 만들어 놓은 후

{
	"SECRET_KEY" = "Your Secret Key"
}

이런 형식으로 secret.json 파일을 작성한다.

  1. .gitignore파일에 secret.json을 추가시켜준다.

  2. settings.py에 들어가 secret_key 부분을 수정시켜준다.

import os, json
from django.core.exceptions import ImproperlyConfigured

# secret_key 파일 위치
secret_file = os.path.join(BASE_DIR, 'secrets.json')

with open(secret_file) as f:
    secrets = json.loads(f.read())

# secret.json 파일에서 secret_key 가져오기
def get_secret(setting, secrets=secrets):
    try:
        return secrets[setting]
    except KeyError:
        error_msg = "Set the {} environment variable".format(setting)
        raise ImproperlyConfigured

SECRET_KEY = get_secret("SECRET_KEY")

이 부분을 settings.py에 추가시켜준다.
추가시킨 다음 저장하여 python manage.py runserver를 실행시켜주고 문제없이 서버가 돌아가면 성공한 것이다.
물론 처음부터 commit을 하면 절대 안되고 수정하여 바꿔줘야 한다.
이번에 또 하나를 배우게 되었다. 정말 중요한 것이고 앞으로 이런 실수는 절대 해선 안될 것이다.
개발을 공부한지 2달밖에 되지 않았지만 느끼는 건 공부할수록 새로운 것들이 정말 많이 나온다.

profile
개발자 지망생

0개의 댓글