기본 아이디어는 코드 또는 컴파일 된 이진 파일 에서 기밀 값 을 체크인하지 않는 것 입니다. 특히 프로젝트가 오픈 소스 인 경우 실제로는 안됩니다. 이를 위해 수행 할 수있는 몇 가지 구성 전략이 있습니다.
코드의 자리 표시 자 (하드 코딩 된 값)
제안 된 바와 같이 코드의 자리 표시 자는 코드를 쉽게 변경할 수 있으므로 (컴파일 할 필요없이) 동적 프로그래밍 언어에서 가장 깔끔하고 가장 쉽습니다. MediaWiki와 같은 많은 오픈 소스 프로젝트가 이것을 수행하는 것을 보았습니다 LocalSettings.php
.
이 전략 의 단점 은 키가 하드 코딩되어 있다는 것입니다. 따라서 프로그램이 바이너리로 배포되는 경우 키를 하드 코드화하여 유지 관리 할 수있는 것은 아닙니다.
구성 텍스트 파일
구성 텍스트 파일 을 구현하여이를 수행 할 수도 있습니다 . 즉, 프로그램 / 응용 프로그램이 구성 파일을 검색 하고이 파일 에서 값을 읽습니다. 자리 표시 자와 함께 샘플 구성을 체크인 할 수 있지만 실제 구성은 컴퓨터에서 로컬로 설정할 수 있습니다.
귀하의 경우 key.conf
실제 키를 사용하여 텍스트 파일을 작성 하고 프로그램에서 해당 파일을 사용하게하고 버전 제어에 의해 무시되도록 할 수 있습니다. 도움 key.conf.example
이되도록 가짜 키로 텍스트 파일을 체크인하고 체크인 할 수 있습니다. 사용자가 올바른 파일에 실제 키를 추가 할 수 있도록 프로그램 / 응용 프로그램에 유용한 오류 메시지가 표시되는지 확인하십시오.
일부 프로그래밍 언어에는 다음과 같이이를 자동으로 제공하는 API가 있습니다.
애플리케이션이 데이터베이스 앱인 경우 데이터베이스에 키 또는 기타 구성 변수를 넣는 것을 고려하십시오. 위의 구성 텍스트 파일과 동일하지만 대신 키와 같은 모든 구성 변수를 데이터베이스 테이블에 넣습니다.
환경 설정보기 또는 Back Office 앱을 통해
프로그램이보기가있는 창 또는 웹 응용 프로그램 인 경우에는 기본 설정보기를 통해 응용 프로그램이 구성 파일을 만들도록 할 수도 있습니다. 그렇게하면 위에서 제안한대로 구성 파일 예제를 체크인 할 필요가 없습니다.
MediaWiki LocalSettings.php
는 초기 설치 과정에서 파일 을 자동 생성함으로써 이와 유사하게 해결했습니다 .
분명히 이것은 백그라운드 프로세스, 서비스 또는 데몬으로 만 실행되는 프로그램에 대한 옵션이 아닙니다. 그러나 이러한 이유로 별도의 GUI 프로젝트를 작성하여 일반적으로 Back Office 응용 프로그램 이라고하는 웹 앱에서 관리 및 환경 설정을위한 입력 시점을 작성합니다 .