2010-12-08 2 views
1

기본적으로 모니터 응용 프로그램 인 웹 사이트에서 일부 웹 서버 이름, 각 웹 서버에 호스팅 된 웹 사이트 이름, URL 및 포트 번호가 포함 된 구성 파일을 보관해야합니다ASP.NET 구성 파일 대 보통의 XML 파일

누구나 내 웹 응용 프로그램의 사용자 지정 구성 파일로이 구성 파일을 처리하고 "ConfigurationSection"또는 "IConfigurationSectionHandler"를 사용하여이 파일을 일반 xml 파일로 처리하고 읽는 것의 이점을 설명 할 수 있습니까? 그것은 'XMLDocument'또는 'XMLTextReader'또는 'XLINQ'등을 사용하고 있습니까? 이렇게하면이 사용자 지정 구성 파일뿐만 아니라 web.config 파일에 항목이 만들어지지 않습니다.

인터넷에서이 답변을 찾기 위해 많은 시간을 보냈지만 만족스러운 답변을 찾을 수 없었습니다.

도와주세요 ..

답변

3

보안상의 관점에서 XML 파일을 사이트에 저장하고 파일 이름을 추측/발견 할 수 있으면 파일을 가져올 수 있으며 이제 모든 사이트, 사이트 및 서버를 알 수 있습니다. 서버에 공격을 가하고 서버를 제어하는 ​​데 사용할 수있는 열린 포트 집합.
대조적으로 ASP.NET은 (기본적으로) 브라우저 요청에 .config 파일을 제공하지 않으므로 모든 정보를 검색하는 것이 더 어려워집니다.

+0

감사합니다 필, 이건 꽤 논리적 인 것 같아 .. – binu

4

있다 적어도 두 가지 이유 :

  1. 의 Web.config 귀하의 웹 사이트에 대한 구성을 유지하도록 설계되었습니다; 따라서 앞으로 사이트를 유지 관리하는 사람은 해당 사이트와 관련된 설정을 확인해야합니다.
  2. 모든 응용 프로그램에 * .config를 사용하면 System.Configuration 어셈블리의 ConfigurationManager 클래스를 사용하여 파일을 읽고 쓰는 것이 가능합니다. 이는 자신의 xml을 작성하는 것보다 간단합니다 (목적을 위해 특별히 설계된 것임). 지속되는 구성 정보).
+0

+1 가장 명확한 장소에 구성을 유지합니다. – Greg

+0

이 질문에 대한 답변을 accordlingy, http://stackoverflow.com/questions/719928/how-do-you-modify-the-web-config-appsettings-at-runtime web.config 파일을 잘못 사용하면 응용 프로그램이 다시 시작되므로이 파일에 기록하는 것은 권장되지 않습니다. – Malavos

+1

@Malavos 일반적으로 설정을 변경할 때 사실을 알리기 위해 응용 프로그램을 다시 시작해야 할 가능성이 있습니다. 그래도 어디에 넣을 지 결정할 때 고려해야 할 좋은 점입니다. –