|
Web.config 기술문서 |
작성일 : 2012. 04. 04 |
작성자 : 김용운 |
.config 파일의 계층 구조 |
.NET Framework는 .config 파일을 사용하여 구성 옵션을 정의합니다. .config 파일은 텍스트 기반 XML 파일입니다. 여러 .config 파일은 단일 시스템에 있을 수 있으며 대개 그렇습니다.
.NET Framework의 시스템 단위 구성 설정은 Machine.config 파일에서 정의됩니다. Machine.config 파일은 %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\
폴더에 있습니다.
응용 프로그램의 루트 폴더에서 Web.config 파일을 만들면 단일 응용 프로그램의 ASP.NET 구성 설정을 변경할 수 있습니다. 이렇게 하면 Web.config 파일의 설정이 Machine.config 파일의 설정을 덮어씁니다. |
Web.config 파일 만들기 |
메모장과 같은 텍스트 편집기를 사용하여 Web.config 파일을
만들 수 있습니다. ASP.NET 응용 프로그램의 루트 디렉터리에서 Web.config라는 텍스트 파일을 만들어야 합니다. Web.config 파일은
잘 구성된 XML 문서이어야 하고
%SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\Machine.config 파일과
유사한 형식이어야 합니다. <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web>
</system.web> </configuration> Web.config 파일의 첫 번째 줄에서는 문서가 XML 형식임을 설명하고 문자 인코딩 유형을 지정합니다. 이 첫 번째 줄은 모든 .config 파일에서 동일해야 합니다. |
Reference : MSDN
ASP.NET 으로 웹사이트
구축시
일반적으로 연결스트링등의 주요 변수들은 web.config 에 입력하여 사용합니다.
그런데 web.config 파일은 보통 암호화가 되어 있지않기 때문에 누군가가 마음만 먹고 web.config 파일을
가져간다면 DB의 사용자ID, 암호, 해당IP 등의 주요정보를 가로채서 해킹시도를 할 우려가 있습니다.
MS에서는 이러한
web.config 에 대해 편리한 방식으로 암호화를 시켜주는 기능을 제공하고 있습니다.
암호화, 복호화 |
아래의 명령어를 프롬프트창(실행에서 cmd 하면
나오는 도스창)에서 실행시킵니다. <암호화>
<복호화> |
암호화는 해당 컴퓨터의 OS에 활당되어져 있는 머신키(Machine Key) 에 의해 RSA 방식으로 생성 됩니다. 그러므로 다른 컴퓨터에서는 복호화가 불가능 하지만, 머신키에 의해 암호화 되어있는 만큼 똑같은 머신키를 복제하여 복호화 하고자 하는 컴퓨터에서 암호키를 입력해주고 복호화를 해주면 원상태의 값으로 돌아가게 됩니다.
'RsaProtectedConfigurationProvider' 공급자를 사용하여 'connectionStrings' 섹션을 암호화하지 못했습니다. 공급자의 오류메시지 : 개체가 이미 있습니다.
와 같은 에러 메세지를 받는다면 cmd, 도스명령어창을 관리자권한으로 실행한 후 위의 암호화 명령을 입력하면 암호화가 성공했다는 메세지를 볼 수 있습니다.
Reference : 윤귀의 우주속 티끌
Web.Config 기술문서 date 2012.04.04.docx