Artikel-ID: 239104 - Geändert am: Mittwoch, 2. Juni 2004 - Version: 4.0 Jet-Ausdruck kann unsichere Visual Basic für Applikationen-Funktionen ausführenDieser Artikel wurde zuvor veröffentlicht unter D239104 Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base: 239104 (http://support.microsoft.com/kb/239104/en-us/ ) Jet Expression Can Execute Unsafe Visual Basic for Applications Functions
Moderat: Erfordert grundlegende Kenntnisse in den Bereichen Makros, Kodierung und Interoperabilität. Auf dieser SeiteProblembeschreibung
Über Jet 3.5x kann ein Benutzer unsichere Visual Basic für Applikationen-Funktionen in Abfrageanweisungen von allen Jet-Anwendungsarten (wie ODBC oder Access) aufrufen. Beispielsweise würde die folgende Anweisung dazu führen, dass alle Dateien aus dem aktuellen Ordner eines Computers gelöscht werden:
SELECT Shell("Cmd /c del *.*") As c1 From Customers
Hinweis: Der Shell-Befehl in diesem Beispiel funktioniert unter Microsoft Windows NT. Damit der Befehl auf einem Computer mit Microsoft Windows 95/98 funktioniert, müsste er folgendermaßen geändert werden:
SELECT Shell("Command.com /c del *.*") As c1 From Customers
Das Sicherheitsrisiko tritt auf, wenn Ausdrücke VBA-Befehle enthalten, die für den Computer, der die Abfrage ausführt, schädlich sein können, zum Beispiel Shell-Befehle zum Löschen von Dateien oder zum Formatieren des Computers.
Ursache
Jet-Abfragen können VBA-Ausdrücke enthalten. Diese werden während der Abfrageausführung ausgewertet, ein Verhalten, das in vielen Fällen sinnvoll ist. Wenn jedoch Teile der Abfrage den Shell-Befehl enthalten, wird dieser analysiert und auf dem Computer ausgeführt. Sie können solche Operationen über den so genannten "Sandbox-Modus" blockieren. Der Sandbox-Modus ist jedoch in Microsoft Jet 3.5x standardmäßig nicht für Anwendungen aktiviert, die VBA-Befehle ausgeben können. Lösung
Sie müssen zunächst das Microsoft Jet 3.5 SP3-Update installieren, um den Sandbox-Modus aktivieren zu können. Nach der Installation dieses Updates wird bei der nächsten Ausführung von Jet ein neuer Registrierungsschlüssel zu der Registrierung hinzugefügt. Über diesen neuen Registrierungsschlüssel können Sie diese Art von Sicherheitsrisiko ausschalten. Der folgende Registrierungsschlüssel wird hinzugefügt:
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\engines\SandboxMode 172733
(http://support.microsoft.com/kb/172733/DE/
)
Updated Version of Microsoft Jet 3.5 Available on MSL
In dem Jet-Update wurde die Operation des Sandbox-Modus so geändert, dass Sie die volle Kontrolle über den Modus haben, um Ihr System besser vor böswilligen Angriffen zu schützen und gleichzeitig weiterhin die Ausführung älterer Anwendungen zu ermöglichen. Sie können den Schlüssel auf die folgenden Werte setzen, wobei 0 (null) der am wenigsten und 3 der am meisten einschränkende Wert ist: Tabelle minimieren
StatusMicrosoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt. Weitere Informationen
Wenn der Sandbox-Modus aktiviert ist, und Sie versuchen, VBA-Funktionen in einer Jet-Abfrage zu verwenden, die als nicht sicher erachtet werden, wird die folgende Fehlermeldung angezeigt: JET_errExprUnknownFunction Zulässige Operationen bei aktiviertem Sandbox-ModusDie folgende Liste enthält Funktionen, die Sie in Jet-Abfragen verwenden können, wenn der Sandbox-Modus aktiviert ist. Funktionen, die nicht in dieser Liste aufgeführt sind, sind bei aktiviertem Sandbox-Modus nicht verfügbar.Tabelle minimieren
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung. Die Informationen in diesem Artikel beziehen sich auf:
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| SPRACHE AUSWÄHLEN
|

Zum Anfang
