Heroku - 디스코드 봇 토큰 정보 보호하기 (숨기기)
- Development/디스코드봇
- 2021. 12. 23.
Heroku 앱의 코드에서 설정은 외부로
만약 깃헙 등에 디스코드 봇 등의 앱을 작성해서 커밋했다면 꼭 체크해야할 사항이 있다.
- public으로 노출했는가? (다른 사람들이 다 본다는 뜻)
- 혹시 app token 정보를 그대로 노출했나? (다른 사람들이 도용할 수 있다는 뜻)
비밀번호는 외부에 노출되지 않도록 해야 하므로, 토큰 정보도 노출되지 않도록 조치를 해야 한다.
토큰을 Heroku 외부 설정으로 빼놓기
Heroku 대쉬보드의 Settings 메뉴로부터 Config Vars 섹션에 본인이 원하는 설정 값을 선언할 수 있다.
위의 스크린샷의 예는, BOT_TOKEN이라고 선언하고 그에 해당하는 값을 지정한 것이다. 여러 개의 변수를 상황에 맞게 선언하고 사용하면 된다.
반응형
외부 환경변수로부터 토큰을 사용하도록 코드 변경하기
앞서 작성한 코드로부터, 디스코드 봇을 실행시킬 때 디스코드 토큰을 파라미터로 선언한 부분이 있었다.
bot.run(TOKEN)
이 TOKEN의 변수에 예전에는 직접 디스코드 봇용 토큰을 써줬다면, 이제 이 변수에 Heroku의 Config을 주입해주면 된다.
코드상 TOKEN값을 얻어오는 부분은 아래와 같이 적어주자.
TOKEN = os.environ.get('BOT_TOKEN')
외부 환경변수로부터 BOT_TOKEN 값을 찾아서 넣어준다.
Heroku 실행환경에서는 저 변수를 외부에서 찾아서 동작하게 해준다는 뜻이므로, 만약 저 코드를 로컬 환경에서도 동일하게 쓰고자 한다면 로컬 환경에서도 마찬가지로 BOT_TOKEN을 환경변수로 선언해 주거나, IDE의 런타임 변수로 지정해주면 동일한 효과를 낼 수 있다.
더 보기
'Development > 디스코드봇' 카테고리의 다른 글
디스코드 봇 - 커맨드 파라미터에 문장 전달하려면? (feat 파이썬) (0) | 2021.12.29 |
---|---|
디스코드 봇 - 쉽게 embed 메시지 꾸미는 법 (0) | 2021.12.26 |
Heroku - 실행중인 디스코드 봇의 로그를 보려면? (2) | 2021.12.16 |
Heroku - 파이썬 디스코드 봇 프로젝트 연동하기 (깃헙기반) (0) | 2021.12.12 |
Heroku - 디스코드 봇 무료 호스팅 준비하기 (0) | 2021.12.09 |
파이썬 디스코드 봇 - 사용자 커맨드에서 파라미터 전달받기 (0) | 2021.12.04 |
파이썬으로 디스코드 봇 개발 시작하기 (기본 구조 잡기) (1) | 2021.11.28 |
디스코드 오류 - Cannot close a running event loop (feat. 구글 코랩) (0) | 2021.10.19 |