본문 바로가기
python

django - settings.py 기본 보안 설정

by dev-hyunhyun 2025. 2. 25.
import socket
import os

# 현재 호스트네임 가져오기
hostname = socket.gethostname()

if hostname.startswith("ip-"):  # AWS EC2 서버일 경우
    DEBUG = False
    ALLOWED_HOSTS = ["your-domain.com"]  # 실제 도메인으로 변경하세요.

    # HTTPS 강제 설정
    SECURE_SSL_REDIRECT = True  # HTTP -> HTTPS 자동 리디렉션

    # 쿠키 보안 강화 (HTTPS에서만 동작)
    SESSION_COOKIE_SECURE = True  # HTTPS 환경에서만 세션 쿠키 허용
    SESSION_COOKIE_HTTPONLY = True  # JavaScript에서 쿠키 접근 방지
    CSRF_COOKIE_HTTPONLY = True  # CSRF 쿠키를 HTTP-only로 설정하여 JS 접근 방지
    CSRF_COOKIE_SECURE = True  # CSRF 쿠키도 HTTPS에서만 전송되도록 설정

    # CSRF 보호
    CSRF_TRUSTED_ORIGINS = ["https://your-domain.com"]  # 실제 도메인으로 변경하세요.
    
else:
    DEBUG = True
    ALLOWED_HOSTS = ["127.0.0.1", "localhost"]

    # 로컬 개발 환경에서는 HTTPS 강제하지 않음
    SECURE_SSL_REDIRECT = False
    SESSION_COOKIE_SECURE = False
    CSRF_COOKIE_SECURE = False
    CSRF_TRUSTED_ORIGINS = ["http://127.0.0.1:8000"]

'python' 카테고리의 다른 글

gunicorn 구니콘 유니콘 관련  (0) 2025.06.19
uwsgi 자동 시작 설정 [우분투]  (0) 2024.12.26
구글 네이버 sso 로그인 django 설정 정보  (2) 2024.11.20
기본 django 세팅  (0) 2024.08.27
uWSGI 관련  (0) 2024.08.23