![]() |
Datenbank: Access 2003 • Version: 2003 • Zugriff über: ADO
Sicherheit Access DB
Jetzt habe ich eine generelle Frage an Euch. Es geht um die Sicherheit.
Folgendes habe ich vor: Die Datenbank soll Leveldaten beinhalten. Ein Haus soll hier stehen, ein Baum dort, usw. ... Der Ablauf ist so, daß die 3D-Engine eine DLL lädt, die wiederrum auf die Access-DB zugreift und alle relevanten Daten in eine geeignete Datenstruktur schreibt, die sich in der DLL befindet. Danach werden alle Elemente im 3D-Raum platziert. Da die DB nur zum Laden des Levels und zum Laden/Speichern von Spielständen genutzt werden soll, ist die Frage nach der Geschwindigkeit nicht gegeben. Die Access-DB ist zwar passwortgeschützt, dennoch drängt sich mir die Frage auf, ob diese Vorgehensweise halbwegs sicher ist. Nichts ist schlimmer, als daß der Spieler später die Leveldaten einfach so abändern kann. Meine Frage ist also: Sollte ich so vorgehen oder habt Ihr noch andere Ideen? PS: Die 3D-Engine kann ich bereits in Delphi auf einem Formular, alternativ auch ein TPanel, darstellen. Der Leveleditor wird so aufgebaut. Viele Grüße Gargi |
Re: Sicherheit Access DB
Zitat:
|
Re: Sicherheit Access DB
Zitat:
Die XML-Datei lässt sich leicht mit gängigen Verfahren verschlüsseln, so dass ein "99.999% Schutz" erreicht wird. Weiterer Vorteil der XML Datei wäre die leichte Erweiterbarkeit und der hierarchische Datenaufbau. Kleines Beispiel:
XML-Code:
<Game>
<Level id="1"> <Object type="haus> <Object type="Tür"></Object> </Object> </Level> <Level id="2"> </Level> </Game> |
Re: Sicherheit Access DB
XML wäre natürlich auch eine Lösung. Genauso wie typisierte Dateien oder auch Binary Streams.
In einem Spiel ist es ja so, daß noch weitere Dateien "verschlüsselt" werden sollten. Meine Idee war folgende: Alle Dateien, egal ob 3D-Modelle, Texturen, Leveldaten oder auch Shader, werden in ein Archiv komprimiert und verschlüsselt. Beim Laden eines Levels würden alle dafür benötigten Dateien entpackt und geladen. Sobald das abgeschlossen ist, werden alle Dateien von der Festplatte gelöscht. Das funktioniert, da während eines Spiels nur mit den Daten im RAM bzw. Grafik-RAM gearbeitet wird. Das betrifft z.B. auch Bitmap-Operationen. Herr Ritter hat mir freundlicherweise Delphi-Code geschickt, mit dem ich SQX-Dateien lesen und schreiben kann. Wen es interessiert: ![]() Mit der Access-DB sollte es auch so laufen. Das Teil entpacken, Werte auslesen und die Datei sofort wieder löschen. So jedenfalls mein Plan. Für jede andere, evtl. bessere, Idee wäre ich dankbar. Viele Grüße Gargi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz