문제설명
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로 중요한 데이터를 암호화 할 수 있게 되었다.
'T.I.L' 카테고리의 다른 글
23-06-29 js에서 fetch로 POST보내기 (0) | 2023.07.09 |
---|---|
23-06-27 T.I.L github fork (0) | 2023.06.27 |
23-06-21 T.I.L JWT 토큰의 undefinde (0) | 2023.06.22 |
23-06-19 T.I.L mongodb 6.0 이상 window에 설치하기 (0) | 2023.06.19 |
23-06-16 T.I.L 프로그래머스 Combination 공식 코드화 하기 (0) | 2023.06.16 |