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
'Python > Django' 카테고리의 다른 글
[Django template] template 확장하기 / base.html 분리를 통해 html 재사용성 향상 (0) | 2020.04.27 |
---|---|
[Django] form을 활용하여 login view 수정하기 (0) | 2020.04.25 |
[Django DateTimeField] auto_now와 auto_now_add (0) | 2020.04.24 |
[Django] Hardcoded URL 제거 / Namespacing URL names (0) | 2020.04.23 |
[Django ORM] Django QuerySet으로 간단한 검색 기능 구현하기 (0) | 2020.04.23 |