>  기사  >  백엔드 개발  >  asp.net에서 Access 데이터베이스 다운로드 방지

asp.net에서 Access 데이터베이스 다운로드 방지

伊谢尔伦
伊谢尔伦원래의
2016-11-25 09:49:461196검색

Access 데이터베이스 다운로드를 방지하는 방법은 매우 오래된 주제이며 인터넷에서 많은 논의가 있습니다. 여기에서는 ASP.NET에서 Access 데이터베이스가 다운로드되는 것을 방지하는 몇 가지 방법을 제공합니다.

여기에서는 Access 데이터베이스 이름이 test.mdb라고 가정합니다.

1. 데이터베이스를 WEB 디렉터리 외부에 배치합니다.

웹 사이트 디렉터리가 D:www인 경우 데이터베이스를 D:data 폴더에 넣은 다음 웹 사이트 프로그램을 수정할 수 있습니다. 연결 문자열 주소 부분은 "D:datatest.mdb"이므로 정상적으로 데이터베이스를 호출할 수 있으나, 웹사이트 디렉터리에 없기 때문에 다운로드할 수 없습니다.

web.config에 데이터베이스 연결 문자열이 구성되어 있다고 가정합니다. 예:

 <connectionStrings>
        <add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source=d:\data\test.mdb" providerName="System.Data.OleDb" />
    </connectionStrings>

2. 데이터베이스를 App_Data 시스템 폴더에 배치합니다.

.Net2.0부터는 특별히 데이터 파일을 저장하는 App_Data 디렉터리를 사용할 수 있습니다. SQL Server Express, XML 및 기타 데이터 파일을 저장합니다. App_Data 폴더에 데이터베이스 파일을 배치하면 다운로드를 방지할 수 있다는 장점이 있습니다. 연결 문자열 데이터베이스의 파일 위치에 대해 DataDirectory 키를 사용하여 실제 경로를 나타낼 수 있으므로 연결 문자열을 얻을 때 더 이상 Server.MapPath() 변환을 사용할 필요가 없습니다.

web.config에 데이터베이스 연결 문자열이 구성되어 있다고 가정합니다. 예:

 <connectionStrings>
        <add name="Access" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;data source=|DataDirectory|test.mdb" providerName="System.Data.OleDb" />
    </connectionStrings>

|DataDirectory|는 app_data 폴더를 나타냅니다.

3. 데이터베이스 파일 이름 바꾸기

Access *.asax 이름 바꾸기: ASP.NET의 처리 메커니즘으로 인해 기본적으로 이러한 요청은 직접 거부됩니다. 이 아이디어에 따라 Access의 이름을 *.config, *.vb, *.cs 등으로 바꿀 수도 있습니다.

4. IIS 구성 및 .mdb 파일 형식 매핑 추가

.mdb 확장자 매핑 추가 이 방법은 IIS 설정을 수정하여 수행됩니다. 단 2단계.

1. .mdb 파일 형식을 ASP.NET ISAPI에 매핑하도록 IIS를 구성합니다.

Windows 2003을 예로 들어 "시작" -> 실행 -> "inetmgr"을 입력하고 Enter 키를 눌러 "인터넷 서비스 관리자"를 엽니다. 웹사이트를 마우스 오른쪽 버튼으로 클릭 -> "속성"을 클릭하면 이 사이트의 속성 대화 상자가 나타납니다. "홈 디렉터리" 탭을 클릭하고 "구성" 버튼을 클릭하면 "응용 프로그램 구성" 대화 상자가 표시됩니다. 매핑을 추가하려면 "추가"를 클릭하십시오. 실행 파일 "C:WINDOWS Microsoft.NET Framework v2.0.50727 aspnet_isapi.dll"을 입력하라는 대화 상자가 표시됩니다. 아래 그림과 같이

asp.net에서 Access 데이터베이스 다운로드 방지

2. asp.net의 web.config 파일을 구성하고 .mdb 파일 형식을 HttpForbiddenHandler HTTP 처리기에 매핑합니다.

asp.net 애플리케이션 .mdb 파일 형식을 HttpForbiddenHandler HTTP 핸들에 매핑합니다. 이 단계를 수행하려면 Web.config 파일에 다음 구성을 추가해야 합니다

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

5. ACCESS 다운로드 방지 필드를 추가합니다

이 방법의 원리는 다음과 같습니다. 데이터베이스 확장 이름은 .aspx 형식이 됩니다. 이 파일을 원격으로 액세스하면 IIS 서버가 이를 aspx 프로그램으로 실행합니다. 이전에 ACCESS 데이터베이스에 "" 태그 내에서만 실행될 수 있으므로 "missing scriptclosing tag"라는 500 오류가 나타나며 다른 사용자는 ACCESS 데이터베이스를 다운로드할 수 없습니다. 데이터베이스의 텍스트나 메모 필드에 단순히 "

1. 먼저 테이블을 생성하고 SQL 명령 창에 "create table [notdown]([notdown] oleobject)"라는 내용을 입력한 후

을 클릭합니다. 도구 모음 "!"(실행)에서 필드 이름이 "notdown"이고 필드 유형이 "OLE 개체"인 "notdown" 테이블이 현재 데이터베이스에 생성됩니다. 그림 1

asp.net에서 Access 데이터베이스 다운로드 방지

2. SQL 쿼리 창의 내용을 다음 명령으로 변경합니다. "insert into [notdown](notdown) 값 ​​(0x3C25) "

이 문장의 의미는 "0x3C25" 데이터를 "notdown" 테이블의 "notdown" 필드에 삽입한다는 것입니다("0x3C25"는 "

asp.net에서 Access 데이터베이스 다운로드 방지

실행이 완료된 후 데이터베이스의 "table"을 다시 확인하면 "notdown" 테이블이 추가로 존재하는 것을 확인할 수 있다. 열면 필드에 그림 3과 같이 "Long Binary Data"가 표시됩니다

asp.net에서 Access 데이터베이스 다운로드 방지

admin10000.com 여기에 다운로드 방지 데이터 테이블이 준비되어 있습니다. 직접 다운로드하여 자신의 데이터베이스에 붙여넣고 사용할 수 있습니다. notdown 데이터 테이블

팁 1: ASP 웹사이트이든 ASP.NET 웹사이트이든 Access 데이터베이스 접미사를 .asp 및 .aspx로 직접 변경하고 FlashGet과 같은 다운로드 도구를 사용하여 올바르게 복사하세요. 다운로드를 방지하는 역할을 할 수 없습니다.
팁 2: 다섯 번째 방법은 일반적으로 ASP+ACCESS 웹사이트에서 사용됩니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.