복붙노트

[PYTHON] 어디에서 플라스크에 비밀 키를 두어야합니까?

PYTHON

어디에서 플라스크에 비밀 키를 두어야합니까?

exploreflask.com을 읽는 동안 개발 용으로 하나, 프로덕션 용으로 두 개의 다른 구성 파일을 사용하는 것이 가장 좋습니다. 나는 비밀 키를 개발 또는 프로덕션 환경에 배치할지 여부를 이해하지 못합니다.

나는 비밀 키가 공유되어서는 안된다고 생각한다. 개발 환경 설정 또는 프로덕션 환경 설정에 비밀 키를 넣어야합니까? 아니면 각 구성마다 다른 키를 사용해야합니까?

해결법

  1. ==============================

    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')
    
  2. from https://stackoverflow.com/questions/30873189/where-should-i-place-the-secret-key-in-flask by cc-by-sa and MIT license