T.I.L
23-06-26 T.I.L SQL config 암호화 설정
김민커
2023. 6. 27. 00:09
문제설명
config.json은 mysql의 비밀번호와 호스트가 노출이 되어있다. 만약 깃허브에 공유 작업 레포지토리로 올리게 된다면 안 좋은 결과로 해킹 및 예기치 못한 문제가 발생할 가능성이 있다. 이를 방지하고자 한다.
시도
gitignore은 깃허브에 push할 때 특정 파일을 commit할 수 없고 변경사항으로 인식하지도 않는다. 그리고 dotenv라는 패키지 프로그램을 통해서 config.json의 역할을 암호화 한채로 사용할 수 있다.
해결
npm install dotenv --save
먼저 dotenv의 패키지 프로그램을 설치한다.
S3_BUCKET="YOURS3BUCKET"
SECRET_KEY="YOURSECRETKEYGOESHERE"
작업 폴더에 <.env> 파일을 만들고 그 파일에 위의 코드를 기입한다.
config폴더에 config.js를 만들고
require("dotenv").config()를 기입한다.
config.js에 consol.log(process.env)를 하고 암호화 하고 싶은 value를 process.env.key로 대신 기입한다.
알게된 점
퍼블릭으로 만든 레포지토리가 나쁜마음을 먹는다면 악용될 수도 있다는 점을 알았다.
gitignore로 git에 올리는 파일을 선별할 수 있다는 것을 알았다.
.env로 중요한 데이터를 암호화 할 수 있게 되었다.