Python/Django
[Django] Secret key 새로 생성 후 분리하기
jisun_rea
2020. 4. 24. 21:20
Django Secret key란? [참고]
Cryptographic Signing을 제공하는데 사용된다.
Cryptographic Signing이란?
- Web application security의 Golden rule은 신뢰할 수 없는 출처로부터 온 데이터를 절대 신뢰해서는 안된다는 것
- 하지만 때로는 신뢰할 수 없는 매체를 통해 데이터를 전달하는 것이 유용할 수도 있다.
- 그렇기에 value를 Cryptographically sign(암호화적으로 서명)하는 것이 필요하다.
Secret key 새로 생성
Secret key 분리
secrets.json
{
"SECRET_KEY": "여기에 secret key 넣기"
}
settings.py
import json
from django.core.exceptions import ImproperlyConfigured
secret_file = os.path.join(BASE_DIR, 'secrets.json') # secrets.json 파일 위치를 명시
with open(secret_file) as f:
secrets = json.loads(f.read())
def get_secret(setting, secrets=secrets):
try:
return secrets[setting]
except KeyError:
error_msg = "Set the {} environment variable".format(setting)
raise ImproperlyConfigured(error_msg)
SECRET_KEY = get_secret("SECRET_KEY")
.gitignore
secrets.json