컴퓨터2009/03/27 18:00
IIS(Internet Infomation Service, 인터넷정보서비스, 이하 IIS) 에서 MDB 확장자를 가진 파일은 IIS의 버젼에 따라 다르게 동작을 합니다.

IIS5.X (Window 2000,WIndows XP) 는 MIME 타입으로서 .mdb 확장자에 대해서 application/x-msaccess 라는 형식의 파일로 처리를 하고 있기때문에 웹사이트에서 다운을 받을때 Access 파일로 다운이 됩니다.

하지만 IIS6 ( Windows 2003 )은 조금 다르게 동작을 합니다. IIS5.x 의 MIME 타입과는 달리 기본적으로 최소한의 확장자만 등록이 되어있기때문에 MIME 타입에만 등록을 하면 될것 같지만 MDB 확장자를 가진 파일은 닷넷프레임워크에서 ISAPI 확장으로 등록이 되어 있기때문에 바로 다운로드를 할수가 없습니다. ASPX 파일처럼 웹소스로 인식을 하기때문입니다.

IIS5.x (Window 2000,WIndows XP )

IIS5.x (Window 2000,WIndows XP )

IIS6 ( Windows 2003 )

IIS6 ( Windows 2003 )



따라서 MDB 파일을  ISAPI 확장이 아닌 파일로서 다운로드를 받으려면 ISAPI 확장을 IIS 에서 제거를 하거나, web.config 파일을 이용해서 ISAPI 확장을 우회하도록 해야 합니다. 아파치의 .htaccess  파일과 같은 용도로 사용되는 닷넷에서의 web.config 는 IIS의 세팅된 정보보다 우선으로 사용이 되기때문에 web.config 파일을 수정함으로써 IIS 에 별도의 설정을 할 필요가 없이 사용이 가능합니다.

설정 변경전

설정 변경전

설정 변경후

설정 변경후



web.config 파일의 내용
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <httpHandlers>
      <remove verb="*" path="*.mdb" />
   <add verb="GET,HEAD" path="*.mdb" type="System.Web.StaticFileHandler"/>
    </httpHandlers>
  </system.web>
</configuration>


참고
- Protecting Files with ASP.NET

Posted by Zasfe