2011-01-07 2 views
3

내 Microsoft Access DB 파일은 APP_DATA 폴더에 있습니다. 내 서버는 Windows 2003이며이 파일을 보호하는 가장 좋은 방법은 무엇인지 알고 싶습니다.ASP.NET의 APP_Data 폴더 보안

그래서 어느 것이 더 안전합니까? App_Data 폴더에 MDB 파일 경우

./wwwroot/App_data/Database.mdb

또는

./db/Database.mdb

답변

0

방문자, 당신의 MDB 파일을 다운로드하지 못할. 그러나 mdb 파일이 db 폴더에 있으면 방문자가 mdb 파일을 다운로드 할 수 있습니다.

db 폴더에 mdb 파일을 넣으려면이 폴더에 대해 securty 권한을 설정해야합니다.

+0

데시벨 폴더 wwwroot에에 있지, 그래서 그들은 그것을 다운로드 할 수 있다고 생각합니다. – Reza

+0

예, 맞습니다 ... 죄송합니다. MSDN : App_Data 폴더 Microsoft Access 데이터베이스 (.mdb 파일), XML 파일 및 로컬 파일에 저장된 기타 데이터가 들어 있습니다. 응용 프로그램을 실행하는 데 사용되는 사용자 계정 (예 : 로컬 ASPNET 계정)에는이 폴더에서 파일을 읽고, 쓰고, 만들 수있는 권한이 있습니다. 멤버쉽 및 역할을 제공하는 공급자 및 웹 사이트 관리 도구와 같은 다양한 ASP.NET 응용 프로그램 기능은 App_Data 폴더와 함께 작동하도록 구성됩니다. http://msdn.microsoft.com/en-us/library/f7fb46ye(v=vs.80).aspx – ogun

+0

이 내용을 web.config에 추가해야한다고 생각합니다. Reza

5

db 폴더의 가상 경로를 만들지 않는 한 파일이 원격 클라이언트에 제공되지 않는다는 점에서 두 방법 모두 안전합니다. 사이트에서 제공되지 않는 파일은 웹의 httpHandlers 섹션에 의해 관리됩니다. 설정 :

<add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" /> 

HttpForbiddenHandler가 제공되지 않습니다 = 유형을 여기에 추가 된 모든 파일 유형 액세스 파일을 넣어

는 맛과 접근의 문제입니다 당신이 당신의 위치, 즉 외부에 넣어합니다.. db 폴더에서 사이트/앱에 사용중인 애플리케이션 계정에 대한 권한을 설정해야합니다. App_Data 폴더로 이동하십시오. 또한 호스팅 환경에서 사이트 폴더 외부에 Access 파일을 배치하지 못할 수도 있습니다.

내 2 센트 : App_Data 폴더로 이동하십시오.

.håkan