코딩공부/Python Django

django secret key를 분실 or 노출될 경우

integerJI 2022. 2. 24. 12:14

django의 secret key는 변수명 그대로 비밀스럽게 유지해야 한다.

 

https://integer-ji.tistory.com/180

 

django secret key 분리, secrets.json 생성

git으로 프로젝트를 진행한다면 ( 2 ) - django secret key 분리하기 보고 배운 곳 : https://inma.tistory.com/83 .gitignore 설정하기 : https://integer-ji.tistory.com/179 해당 글을 보았다면 모두..

integer-ji.tistory.com

 

하지만 이렇게 따로 관리를 하다가 불의의 사고로 key를 분실하게 되었다..

 

django secret key를 분실 or 노출될 경우 key 변경 법

 

secret key를 변경 시에는 로그인 세션 등의 임시 데이터들이 사라질 수 있다.

 

https://wayhome25.github.io/django/2017/07/11/django-settings-secret-key/

 

Django - settings.py 의 SECRET_KEY 변경 및 분리하기 · 초보몽키의 개발공부로그

Django - settings.py 의 SECRET_KEY 변경 및 분리하기 11 Jul 2017 | python Django settings secret key Two Scoops of Django 5장을 읽고 연습한 내용을 정리한 글입니다. 더 좋은 방법이 있거나, 잘못된 부분이 있으면 편하

wayhome25.github.io

 

해당 게시물을 보고 새로운 키를 만들어 보았다.

 

import string, random


# Get ascii Characters numbers and punctuation (minus quote characters as they could terminate string).
chars = ''.join([string.ascii_letters, string.digits, string.punctuation]).replace('\'', '').replace('"', '').replace('\\', '')

SECRET_KEY = ''.join([random.SystemRandom().choice(chars) for i in range(50)])

print(SECRET_KEY)

 

결과 적으로는 secret key는 임의의 50자로 지정되어 있으며 이렇게 직접 생성하여 만들 수도 있다.

 

 

값을 복사해준 뒤 새로운 key를 입력해주면 프로젝트가 다시 정상 적으로 작동하는 모습을 보인다.