.env 설정

개발 공부 일기·2023년 7월 16일
0

비밀번호 암호화에 사용되는 saltRound 등의 변수는 코드에 직접 하드코딩하지 않고 환경변수를 통해 지정해주는 것이 좋다. 환경변수를 사용하는 것이 좋은 이유는 다음과 같다 :

  1. 유연성: saltRounds 값을 환경변수로 정의하면, 애플리케이션을 다른 환경 또는 서버에 배포할 때마다 값을 변경할 필요 없이 설정을 조정할 수 있다. 예를 들어, 개발 환경과 프로덕션 환경에서 다른 saltRounds 값을 사용하고 싶을 때, 각 환경에 맞는 환경변수를 설정하기만 하면 된다.
  2. 보안: 비밀번호 암호화에 사용되는 saltRounds 값은 보안에 영향을 미칠 수 있다. 코드에서 하드코딩된 값을 사용하면 악의적인 사용자가 해당 값을 쉽게 알아낼 수 있다. 반면에, 환경변수를 사용하면 비밀번호 해시에 사용되는 saltRounds 값을 외부로부터 보호할 수 있다.
  3. 구성 관리: 환경변수를 사용하면 애플리케이션의 구성을 중앙에서 관리할 수 있다. 설정 파일을 변경하거나 애플리케이션을 재배포할 필요 없이, 환경변수를 조정하여 애플리케이션의 동작을 변경할 수 있다.

작업 폴더의 루트에 .env 파일을 만들어 환경변수를 설정하고 관리하는 것이 일반적인 방법 중 하나이다. 그리고 Node.js 애플리케이션을 실행할 때 .env 파일을 로드하기 위한 패키지 (예, dotenv)를 사용하면 된다.

그리고 보안을 위해 Git 레포에는 .env 파일을 포함시키지 않는 것이 일반적인 관례이다. 앞서 말했듯이 .env 파일에는 공개되어서는 안되는 정보가 포함될 수 있기 때문이다. Git 레포에서 제외하기 위해서는 .gitignore 파일에 .env를 추가하면 된다.

더 나아가서, .env.example 정도의 파일명으로 샘플 파일을 만들어서 레포에 포함시킨다면 다른 사람이 레포의 내용을 받았을 때 해당 내용을 참고하여 로컬에서 .env파일을 작성할 수 있다.

0개의 댓글