Heim > php教程 > PHP视频 > Hauptteil

Detaillierte QA-Erklärung zur Zugriffssicherheit

黄舟
Freigeben: 2016-12-14 15:33:41
Original
1546 Leute haben es durchsucht

Für Q MDB sind alle Optionen von [Start] falsch, und ich starte es mit dem Cover-Formular. Benutzer in derselben Arbeitsgruppe können keine Tabellen öffnen und sie ohne Autorisierung ändern, aber sie können eine andere leere Datenbank erstellen und importieren oder verknüpfen um es zu ändern, wie kann man es verhindern? Bitte klären Sie mich auf!

A Zuerst sollten Sie das MS Access Workgroup Administrator-Programm verwenden, um Ihre eigene MDW-Datei zu erstellen, z. B. newSystem.mdw, und dann ein neues Konto erstellen, z. B. newAdmin. Die Standardkonten sind AMDIN und z. B GAST-Konten und richten Sie dann jedes Konto ein. Melden Sie sich dann mit dem newAdmin-Konto an, um eine Datenbank zu erstellen oder Tabellen oder Formulare zur Entwicklung in eine vorhandene Datenbank zu importieren. Legen Sie die Sicherheit der Datenbank fest. Zusätzlich zum newadmin-Konto sollten alle Gruppen und Benutzer daran gehindert werden, die Datenbank zu öffnen. Auf diese Weise ist es sicher. In diesem Fall kann das Öffnen der Datenbank nur mit der neu erstellten MDW-Datei verknüpft und mit dem newAdmin-Konto geöffnet werden. Aber in der tatsächlichen Anwendung sollten Sie natürlich auch ein Konto erstellen, um die Software auszuführen, z. B. newUser (es ist am besten, nicht das Standardkonto „Benutzer“ zu verwenden, damit es mit SYSTEM verknüpft ist. Sie können es in MDW eingeben, Selbst wenn Sie ein Kennwort festlegen, ist dies nicht sicher, da auch ein neues SYSTEM zugeordnet werden kann. Legen Sie die Berechtigungen des neuen Benutzerkontos entsprechend fest. Es kann das Design nicht ändern kann das Formular nur ausführen. Kurz gesagt, es wird zum Ausführen verwendet. Blockieren Sie alle Berechtigungen, die geändert werden können. In diesem Fall gibt es zwei Konten für Entwicklung und Betrieb, aber das neue Problem besteht darin, dass der Benutzer das Passwort des neuen Benutzerkontos kennen muss, wenn es übergeben wird. In diesem Fall sind die Daten nicht sicher Um ein einfaches Beispiel zu geben, schreiben Sie einfach einen Satz und führen Sie die Datenbank aus, zum Beispiel: strRunShell = "c:Program FilesMicrosoft OfficeOfficeMSACCESS.EXE /nostartup"

strRunShell = strRunShell &. "/wrkgrp c:newSystem.mdw c :pinewood.mde /user newUser /PWD yourpassword"
RetVal = Shell(strRunShell, vbMaximizedFocus)
Natürlich ist das nur eine Bedeutung, man kann hier auch andere Dinge schreiben festgelegt, z. B. Überprüfung, ob ACCESS installiert ist und der Pfad korrekt ist, registriert ist usw. (Anhang: Der obige Effekt kann auch durch die Verwendung einer anderen Datenbank erreicht werden, die in eine MDE-Datei kompiliert wurde)

F Ich habe auch die Benutzersicherheitsgruppe verwendet, aber die Sicherheit, auf die ich mich beziehe, gilt hauptsächlich für internes Personal Und da draußen gibt es Experten wie Lin, die überhaupt nicht über Sicherheit reden.
ACCESS hat einen schwerwiegenden Fehler (vielleicht weiß ich noch nicht, wie ich es verwenden soll). Es ist nur für Datenbanken mit aktuellen Sicherheitsmechanismen nutzlos Um sein Konto zu verwenden, melden Sie sich bei ACCESS an, erstellen Sie eine neue *.MDB und verwenden Sie dann die Link-Funktion, um die Tabellen der Back-End-Datenbank (oder der Front-End-Datenbank, da die Tabellen der Front-End-Datenbank) zu verknüpfen sind mit den Tabellen der Back-End-Datenbank verknüpft, es handelt sich lediglich um einen Link. Solange er den Inhalt der Tabelle versteht, kann er ihn nach Belieben ändern.
Tatsächlich hat Microsoft ACCESS leicht modifiziert, um seinen Sicherheitsmechanismus auf alle Datenbanken anwendbar zu machen, anstatt auf die aktuelle Datenbank. Wir müssen uns nicht um den Schutz vor einigen Neulingen kümmern, da unser Sicherheitsmechanismus nichts weiter ist als der Schutz vor illegalen Änderungen durch diese internen Benutzer.
Wir benötigen also einen ACCESS-Sicherheitsmechanismus auf Systemebene oder eine Office Developer Edition, die ebenfalls hilfreich sein kann

A Falsch, falsch, falsch: „Der Benutzer muss sich nur mit seinem Konto bei ACCESS anmelden, eine neue *.MDB erstellen und dann die Link-Funktion verwenden, um alle Tabellen in der Back-End-Datenbank zu verknüpfen (bzw die Front-End-Datenbank, weil die Front-End-Datenbank Die Tabelle ist mit der Tabelle in der Back-End-Datenbank verknüpft, er verknüpft sie nur erneut. Er kann sie nach Belieben ändern, solange er den Inhalt versteht Tabelle. "
Dieser Satz ist falsch! Wenn die Sicherheit von ACCESS wirklich so gut ist wie das, was ich gesagt habe, dann ist das, was ich gepostet habe, möglicherweise leeres Gerede. Möglicherweise üben Sie immer noch nicht, was ich gesagt und gepostet habe. Tatsächlich wird dies nicht der Fall sein, da ich eine neu erstellte Systemdatei (d. H. MDW-Datei) erstellt habe, die mit der neuen Systemdatei verknüpft ist, um eine Datenbank zu erstellen, und die Öffnungsberechtigung dieser Datenbank nur von erteilt werden kann Der von mir angegebene feste Benutzer, z. B. NEWUSER , sodass andere, unabhängig von den Systemdateien, die neu erstellte Datenbankverbindung nicht verwenden können. Wenn dies der Fall wäre, hätte ACCESS längst entfernt werden müssen!
Wenn Sie es nicht glauben, kann ich eine Datenbank erstellen und sie Ihnen senden, um zu sehen, ob Sie sie öffnen können. Ich habe 1997 begonnen, ACCESS für die Entwicklung zu verwenden. Ich habe wiederholt verschiedene Datenbanken getestet, die ich fertiggestellt habe. Wenn die von Ihnen erwähnte Situation möglich wäre, hätte ich Dutzende von Datenbanken angesammelt, die von anderen entwickelt wurden und die ich knacken möchte. . . .

F Ich verstehe immer noch nicht:
Die Benutzer, auf die ich mich in dem Artikel beziehe, beziehen sich auf interne Operatoren. Ich habe auch viele Tests durchgeführt:
Beispiel: Ich habe eine Datenbank mit einem Sicherheitsmechanismus eingerichtet und Das System wurde erstellt. Für eine MDW-Datei habe ich eine neue schreibgeschützte Arbeitsgruppe und einen normalen Benutzer (ohne Administratorrechte) eingerichtet, keine Berechtigungen für die Systembenutzergruppe festgelegt, dann ACCESS beendet, die neue MDW-Datei ausgewählt und mich angemeldet Als normaler Benutzer erstellen Sie eine neue Datei und können dann die vorherige Datenbank mit einem Sicherheitsmechanismus importieren.

A Möglicherweise haben Sie meinen Beitrag nicht sorgfältig gelesen in der ACCESS-Hilfe. Sehr ausführlich. Aber um Ihnen das Verständnis zu erleichtern, werde ich die Schritte für Narren auflisten. Machen Sie sich nichts daraus, mein lieber Bruder, ich bin auch nach und nach schlauer geworden, nachdem ich die Hilfe von Narren gelesen habe.
1. Verwenden Sie zunächst das Programm WRKGADM.EXE im ACCESS-Installationsverzeichnis, um Ihre eigene MDW-Datei zu erstellen. Dann verbinden.
2. Nach der Anmeldung bei ACCESS ist der Standardbenutzer ADMIN, ändern Sie das ADMIN-Benutzerkennwort und erstellen Sie für meine zukünftigen Verwaltungszwecke ein neues Konto mich in Zukunft für Benutzer. (Sie müssen keine Gruppen erstellen)
3. Melden Sie sich erneut an, melden Sie sich als PINEWOOD an und ändern Sie dann das Passwort, d. h. das leere Passwort. Wiederholen Sie diesen Vorgang auch für das NEWUSER-Konto.
4. Melden Sie sich bei PINEWOOD an, erstellen Sie die Datenbank-MDB-Quelldatei, die Sie entwickeln müssen, benennen Sie sie, z. B. MYCODE, und speichern Sie sie, um die Sicherheit festzulegen. Sie sollten wissen, wo sich die Sicherheitseinstellungen befinden. Sie befinden sich im Menü. Blockieren Sie alle ADMIN- und GUEST-Berechtigungen für MYCODE. Beachten Sie, dass alle Berechtigungen, unabhängig davon, ob sie sich auf neue Tabellen, neue Module oder Öffnungsberechtigungen für die Datenbank beziehen, entfernt werden. Dann werden auch alle Berechtigungen aller Gruppen auf dieser Datenbank gesperrt. Kann nicht verpasst werden. Wenn die Benutzergruppe ihre Berechtigungen nicht blockiert, können ADMIN und GUEST, die dieser Gruppe angehören, die Datenbank öffnen.
5. Legen Sie dann die Berechtigungen von PINEWOOD für die Datenbank fest. Natürlich sollten alle Berechtigungen verfügbar sein. Legen Sie die NEWUSER-Berechtigungen fest. Zusätzlich zur Änderung der Entwurfsberechtigungen für alle Tabellen, Abfragen usw. sollten Sie über Lese- und Schreibberechtigungen, Berechtigungen zum Öffnen von Datenbanken und Berechtigungen zum Ausführen verfügen. Kurz gesagt, dieses Konto ist für Benutzer.
6. Führen Sie dann die Entwicklung durch, erstellen Sie Tabellenformulare usw. Sie haben es bereits getan, also importieren Sie es. Aber zu diesem Zeitpunkt ist Ihre Datenbank sicher und andere können nichts von MYCODE erhalten. Es sei denn, Sie kennen das Passwort.
7. Nach der Entwicklung sollten Sie die Datenbank trennen, ganz zu schweigen davon, ob Sie dies tun, und dann die Hintergrund-MDB-Datenbank gleichermaßen sicher machen. Kompilieren Sie dann das Frontend-Programm in eine MDE-Datei.
8. Erstellen Sie eine EXE-Datei, wie ich in anderen Beiträgen sagte, verwenden Sie einfach das NEWUSER-Konto, um die EXE-Datei der Datenbank zu öffnen. Es ist für Ihre Benutzer gedacht, sodass diese keine andere Wahl haben, als diese EXE-Datei zur Nutzung der Datenbank zu verwenden.
9. Legen Sie dann die MDB auf den Server und veröffentlichen Sie MDE, MDW und EXE für Benutzer. Natürlich wird die Beziehung zwischen MDE und MDB im Voraus hergestellt und debuggt. Wie man damit in der Programmierung umgeht, versteht sich von selbst.
10. Für Entwickler, die wirklich Sicherheit benötigen, gibt es noch einiges zu tun. Siehe meine anderen Beiträge. „Achtung“ sagte einiges. Diese Fragen werden natürlich verwendet, sobald sie verwendet wurden, aber diejenigen, die nicht verwendet wurden, sind immer noch nutzlos. Welches Problem sollte Ihrer Meinung nach gelöst werden?

F Oh mein Gott? ! ! Muss ich drei Dateien gleichzeitig kopieren, mdb & mdw & exe??? ...
Ganz zu schweigen von der Tatsache, dass VB exe leicht dekompiliert werden kann, würden andere nicht zuerst die mdw-Datei löschen und dann öffnen? es? MDB-Datei?
Wenn sich die Zugriffssicherheit darauf beschränkt, dann spricht man eigentlich von „völliger Sicherheit“.
Fragen Sie auch: Gibt es eine „sicherere“ Methode, die ich brauche? Die in den ersten beiden Fällen genannten Methoden können von jedem mit ein wenig Computerkenntnissen gelöst werden.

A Für die Dateifreigabe muss der Server nur die MDB-Datenbank installieren und der Client muss EXE-, MDW- und MDE-Dateien installieren.
Hinweis:
1. Es handelt sich um eine MDE-Datei, nicht um eine MDB. Die Datenbank sollte im Backend platziert werden, und die MDE-Datei ist hocheffizient und der Quellcode wird nicht durchgesickert Das Passwort ist geknackt.
2. Wenn der Benutzer die MDW-Datei löscht, kann er überhaupt nicht auf die Datenbank zugreifen, ohne meine MDW-Datei zu verwenden.
3. Es ist nicht notwendig, VB für EXE-Dateien zu verwenden, und DELPHI kann verwendet werden. Außerdem habe ich nicht gehört, dass Versionen über VB5 dekompiliert werden können, und ich habe die entsprechenden Tools nicht gefunden.
4. Derzeit gibt es viele Tools zum Knacken des Sicherheitspassworts auf Benutzerebene der ACCESS-Datenbank, aber es kann von Benutzern von MDW-Dateien verwendet werden, sodass sie selbst dann nicht auf die MDB-Quelle zugreifen können, wenn sie die MDW-Datei knacken Programmdatei mithilfe der MDE-Berechtigungen, ganz zu schweigen von der MDE-Quellprogrammdatei MDB, die er überhaupt nicht erhalten kann, da sie überhaupt nicht veröffentlicht wurde. Es ist nirgendwo zu bekommen, es sei denn, Ihr Computer wird nur gelegentlich genutzt. Daher ist das Programm auf jeden Fall sicher. Die Sicherheit der Datenbankdaten ist zwar relativ sicher, aber dennoch ausreichend.

Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage