Heim  >  Artikel  >  Backend-Entwicklung  >  Verhindern Sie den Download der Access-Datenbank in asp.net

Verhindern Sie den Download der Access-Datenbank in asp.net

伊谢尔伦
伊谢尔伦Original
2016-11-25 09:49:461196Durchsuche

Wie man das Herunterladen von Access-Datenbanken verhindern kann, ist ein sehr altes Thema und es gibt viele Diskussionen im Internet. Hier geben wir verschiedene Methoden an, um zu verhindern, dass die Access-Datenbank unter ASP.NET heruntergeladen wird.

Wir gehen hier davon aus, dass der Name der Access-Datenbank test.mdb lautet.

1. Platzieren Sie die Datenbank außerhalb des WEB-Verzeichnisses

Wenn Ihr Website-Verzeichnis D:www ist, können Sie die Datenbank im Ordner D:data ablegen und dann das Website-Programm ändern Die Datenbank Der Adressteil der Verbindungszeichenfolge lautet: „D:datatest.mdb“, sodass die Datenbank normal aufgerufen, aber nicht heruntergeladen werden kann, da sie sich nicht im Website-Verzeichnis befindet.

Gehen Sie davon aus, dass die Datenbankverbindungszeichenfolge in web.config konfiguriert ist. Beispiel:

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

2. Platzieren Sie die Datenbank im App_Data-Systemordner

Ab .Net2.0 gibt es ein App_Data-Verzeichnis zum gezielten Speichern von Datendateien zum Speichern von Access. SQL Server Express, XML und anderen Datendateien. Der Vorteil des Platzierens der Datenbankdatei im Ordner App_Data besteht darin, dass verhindert werden kann, dass sie heruntergeladen wird. Für den Dateispeicherort der Verbindungszeichenfolgendatenbank können Sie den DataDirectory-Schlüssel verwenden, um den physischen Pfad darzustellen, sodass Sie beim Abrufen der Verbindungszeichenfolge keine Server.MapPath()-Konvertierung mehr verwenden müssen.

Gehen Sie davon aus, dass die Datenbankverbindungszeichenfolge in web.config konfiguriert ist. Beispiel:

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

|DataDirectory| stellt den Ordner app_data dar.

3. Benennen Sie die Datenbankdatei um

Benennen Sie Ihren Access *.asax um: Aufgrund des Verarbeitungsmechanismus von ASP.NET wird eine solche Anfrage standardmäßig direkt abgelehnt. Dieser Idee folgend können Sie Access auch in *.config, *.vb, *.cs usw. umbenennen.

4. Konfigurieren Sie IIS und fügen Sie die .mdb-Dateitypzuordnung hinzu.

Fügen Sie die .mdb-Erweiterungszuordnung hinzu. Nur 2 Schritte.

1. Konfigurieren Sie IIS, um den .mdb-Dateityp ASP.NET ISAPI zuzuordnen.

Am Beispiel von Windows 2003 klicken Sie auf „Start“ -> Ausführen -> Geben Sie „inetmgr“ ein und drücken Sie die Eingabetaste, um den „Internet Service Manager“ zu öffnen. Klicken Sie mit der rechten Maustaste auf eine Website -> klicken Sie auf „Eigenschaften“, um das Eigenschaftendialogfeld dieser Website aufzurufen. Klicken Sie auf die Registerkarte „Home-Verzeichnis“ und dann auf die Schaltfläche „Konfigurieren“. Das Dialogfeld „Anwendungskonfiguration“ wird angezeigt. Klicken Sie auf „Hinzufügen“, um eine Zuordnung hinzuzufügen. Es wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, die ausführbare Datei einzugeben: „C:WINDOWS Microsoft.NET Framework v2.0.50727 aspnet_isapi.dll“; Wie in der Abbildung unten gezeigt

Verhindern Sie den Download der Access-Datenbank in asp.net

2. Konfigurieren Sie die Datei web.config von asp.net und ordnen Sie den Dateityp .mdb dem HTTP-Handler HttpForbiddenHandler zu.

Ordnet den .mdb-Dateityp der asp.net-Anwendung dem HTTP-Handle HttpForbiddenHandler zu. Um diesen Schritt zu erreichen, muss die folgende Konfiguration zur Web.config-Datei hinzugefügt werden

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

5. Fügen Sie das ACCESS-Anti-Download-Feld hinzu

Das Prinzip dieser Methode ist: Erweitern Sie die Datenbank. Der Name wird zum .aspx-Format. Wenn Sie remote auf diese Datei zugreifen, führt der IIS-Server sie als Aspx-Programm aus. Wir haben zuvor das Symbol „“-Tags ausgeführt werden, sodass ein 500-Fehler „fehlendes Skript-Abschluss-Tag“ angezeigt wird und andere die ACCESS-Datenbank nicht herunterladen können. Es ist sinnlos, einfach „

1. Erstellen Sie zunächst eine Tabelle und geben Sie den folgenden Inhalt in das SQL-Befehlsfenster ein: „create table [notdown]([notdown] oleobject)“

Klicken Sie dann in der Symbolleiste „!“ (Ausführen) wird auf diese Weise eine „notdown“-Tabelle mit dem Feldnamen „notdown“ und dem Feldtyp „OLE-Objekt“ erstellt. Wie in Abbildung 1 gezeigt

Verhindern Sie den Download der Access-Datenbank in asp.net

2 Ändern Sie den Inhalt im SQL-Abfragefenster in den folgenden Befehl: „in [notdown](notdown)-Werte einfügen (0x3C25)“ „

Die Bedeutung dieses Satzes besteht darin, „0x3C25“-Daten in das „notdown“-Feld der „notdown“-Tabelle einzufügen („0x3C25“ ist die hexadezimale Notation des Zeichens „

Verhindern Sie den Download der Access-Datenbank in asp.net

Überprüfen Sie nach Abschluss der Ausführung erneut die „Tabelle“ in der Datenbank und Sie werden feststellen, dass es eine zusätzliche „Notdown“-Tabelle gibt. Nach dem Öffnen zeigt das Feld „Lange Binärdaten“ an, wie in Abbildung 3

Verhindern Sie den Download der Access-Datenbank in asp.net

dargestellt

admin10000.com Die Anti-Download-Datentabelle notdown wurde hier vorbereitet. Sie können sie direkt herunterladen und zur Verwendung in Ihre eigene Datenbank einfügen. notdown-Datentabelle

Tipp 1: Unabhängig davon, ob es sich um eine ASP-Website oder eine ASP.NET-Website handelt, können Sie das Access-Datenbanksuffix mithilfe von Download-Tools wie FlashGet direkt ändern verhindert das Herunterladen.
Tipp 2: Die fünfte Methode wird normalerweise auf ASP+ACCESS-Websites verwendet.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn