728x90
반응형
settings.py를 보면 SECRET_KEY라는게 있다. 노출되면 장고의 보안기능이 상실될 위험이 있다.
깃허브에 올려서 관리를 하려는데 다올려서 secret_key가 노출되면 안될 것 아닌가.
1. .gitignore 파일을 만들자
git에서 추적을 하지않을 것들을 등록할 것이다.
github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
pycharm 쓰고있어서 이걸 붙여 넣을 것이다. 만들면 이제 .gitignore에 등록된 것들은 추적하지 않게된다.
2. SECRET_KEY를 따로 관리하자
이것도 라이브러리가 이미 있다.
django-environ.readthedocs.io/en/latest/
시키는대로 하면된다.
a) pip install django-environ 으로 설치하고
b) 복사해서 settings.py에 붙여줬다
import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()
c) .env 파일 만들기
DEBUG=on
SECRET_KEY=your-secret-key
DATABASE_URL=psql://urser:un-githubbedpassword@127.0.0.1:8458/database
SQLITE_URL=sqlite:///my-local-sqlite.db
CACHE_URL=memcache://127.0.0.1:11211,127.0.0.1:11212,127.0.0.1:11213
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=django_redis.client.DefaultClient&password=ungithubbed-secret
여기 보안키 넣어주면 된다
d) 완성
from pathlib import Path
import environ, os
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# reading .env file
environ.Env.read_env(
env_file=os.path.join(BASE_DIR, '.env')
)
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = env('SECRET_KEY')
e) 이제 .env를 .gitignore에 추가해주면 된다.
728x90
반응형
'웹 프로그래밍' 카테고리의 다른 글
[pinterest clone (6)] html (include / extends) (0) | 2021.04.26 |
---|---|
[pinterest clone (5)] Django template과 Views 연결 (0) | 2021.04.26 |
[pinterest clone (3)] Accountapp (0) | 2021.04.26 |
[pinterest clone (2)] Pycharm setup (0) | 2021.04.25 |
[pinterest clone (1)] 기술스택 (0) | 2021.04.25 |