[PYTHON] 어디에서 플라스크에 비밀 키를 두어야합니까?
PYTHON어디에서 플라스크에 비밀 키를 두어야합니까?
exploreflask.com을 읽는 동안 개발 용으로 하나, 프로덕션 용으로 두 개의 다른 구성 파일을 사용하는 것이 가장 좋습니다. 나는 비밀 키를 개발 또는 프로덕션 환경에 배치할지 여부를 이해하지 못합니다.
나는 비밀 키가 공유되어서는 안된다고 생각한다. 개발 환경 설정 또는 프로덕션 환경 설정에 비밀 키를 넣어야합니까? 아니면 각 구성마다 다른 키를 사용해야합니까?
해결법
-
==============================
1.repo에 커밋 된 개발 구성에 비밀 키를 배치합니다. 이는 개발자가 앱을 실행하기 위해 앱을 생성 할 필요가 없기 때문에 개발자에게 편리합니다. 프로덕션 환경에서는 고유 한 비밀 키를 사용하여 프로덕션 구성 (결코 repo에 커밋되지 않음)을 사용하십시오. 프로덕션 구성은 개발 구성을 대체해야합니다.
repo에 커밋 된 개발 구성에 비밀 키를 배치합니다. 이는 개발자가 앱을 실행하기 위해 앱을 생성 할 필요가 없기 때문에 개발자에게 편리합니다. 프로덕션 환경에서는 고유 한 비밀 키를 사용하여 프로덕션 구성 (결코 repo에 커밋되지 않음)을 사용하십시오. 프로덕션 구성은 개발 구성을 대체해야합니다.
app = Flask(__name__, instance_relative_config=True) # default value during development app.secret_key = 'dev' # overridden if this file exists in the instance folder app.config.from_pyfile('config.py', silent=True)
프로덕션 환경에서 Heroku와 같이 개인 파일을 추가 할 방법이없는 경우 다른 옵션은 환경 변수를 사용하는 것입니다. 변수가 설정된 경우 기본값을 대체합니다.
app.secret_key = os.environ.get('SECRET_KEY', 'dev')
from https://stackoverflow.com/questions/30873189/where-should-i-place-the-secret-key-in-flask by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 왜 파이썬에서 중첩 목록의 한 요소 만 변경할 수 없습니까? [duplicate] (0) | 2018.10.15 |
---|---|
[PYTHON] 그 값을 기반으로 배열의 누피 합계 요소 (0) | 2018.10.15 |
[PYTHON] 리터럴의 속성에 액세스하는 것은 모든 유형에서 작동하지만 'int'에서 작동하지 않습니다. 왜? (0) | 2018.10.15 |
[PYTHON] Tk의 여러 인스턴스가 왜 낙심하나요? (0) | 2018.10.15 |
[PYTHON] int 목록을 사용하는 희소 행렬 분할 (0) | 2018.10.15 |