반응형
장고 프로젝트에서 SECRET_KEY
SECRET_KEY는 Django 프로젝트의 핵심 보안 요소로, 아래와 같은 역할을 합니다.
🔐 SECRET_KEY란?
Django의 SECRET_KEY는 웹 애플리케이션의 보안을 위해 사용되는 암호화 키입니다. 특히 다음과 같은 기능에 필수적입니다:
✔️ 주요 역할
- 세션 쿠키 암호화
- 클라이언트와 서버 간의 로그인 상태 유지 등에 사용되는 세션 데이터를 안전하게 암호화합니다.
- 비밀번호 리셋 토큰 생성
- 비밀번호 변경 메일 등을 위한 보안 토큰을 생성할 때 사용됩니다.
- CSRF (Cross Site Request Forgery) 토큰 서명
- 사이트 간 요청 위조 공격을 방지하는 데 사용되는 보안 토큰 생성에 필요합니다.
- 암호화 및 해싱 함수의 내부 시드
- 내부적으로 해싱된 값을 비교할 때 보안을 강화하기 위해 사용됩니다.
⚠️ 주의사항
- 절대 GitHub에 올려서는 안 됩니다.
- 프로덕션(운영) 환경에서는 매번 고유한 값으로 설정해야 합니다.
- 키가 외부에 유출되면, 세션 탈취, CSRF 위조 등 보안에 심각한 문제가 발생할 수 있습니다.
✅ 안전하게 관리하는 방법
예: .env 파일 사용
.env 파일에 저장:
DJANGO_SECRET_KEY=django-insecure-9x!v&8r@z^$%abc1234567890
settings.py에서 불러오기:
from decouple import config
SECRET_KEY = config('DJANGO_SECRET_KEY')
.gitignore에는 .env 포함:
.env
🔧 키 생성 팁
키가 없다면 다음 명령으로 새 SECRET_KEY를 만들 수 있습니다:
python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
FastAPI 프로젝트에서 사용한 Git 명령어 정리 (3) | 2025.05.09 |
---|---|
Django 웹 프레임워크에서 MySQL 데이터베이스로 변경 (5) | 2025.05.04 |
[Django] 프로젝트에서 .env 파일을 사용해 환경변수 관리하는 방법 (2) | 2025.05.01 |
[Django] OpenAI API 키 관리 (1) | 2025.04.30 |
[VMware] 가상시스템 Rocky를 완벽하게 지우는 방법 (2) | 2025.04.28 |
댓글