Frage

In Ordnung so hier ist mein Problem. Ich arbeite ein Game-Engine, die schließlich mehrschichtig sein werden. Dieser Motor ermöglicht Spiele entweder in einer .NET-Sprache oder Lua (die eingebauten Scripting-Engine) geschrieben werden. aber für die Sicherheit würde ich möchte den Menschen verhindern, dass diese Dateien betrachten und natürlich verhindern, dass sie von ihnen zu bearbeiten. Meine Lösung war, ein virtuelles Dateisystem mit verschlüsselten Header zu machen. Auf diese Weise wäre es schwierig, den Inhalt der Spieldaten-Dateien zu entdecken, und wenn irgendwie jemand täte, würde sie nicht in der Lage sein, sie auf andere Weise ohne den Schlüssel zu bearbeiten wäre es ungültig.

Ein weiteres Problem mit dem aktuellen Spiel ist, dass es zu einem SQL-Daten verbindet bestimmte Daten zu erhalten, bedeutet dies, die DB-Verbindungszeichenfolge und das Passwort wird in der Anwendung gespeichert.

Doch wie geht man mit Passwörtern innerhalb einer .Net-Anwendung speichern? Ich weiß für eine Tatsache, dass sie dekompiliert werden können und es würde keinen Sinn geheime Schlüssel in einer lesbaren Konfigurationsdatei speichern machen, so wie die meisten Profis tun es tun?

War es hilfreich?

Lösung

Normalerweise Client-Anwendungen nicht direkt mit der Datenbank verbinden. Stattdessen verbinden die an einen Server, der die Remote-Anrufe im Namen der Anwendung behandelt. In einem solchen Szenario die einzige Sache, die das Passwort für die Datenbank benötigt, ist der Server.

In der modernen .NET-Welt ist der Server in der Regel mit dem integrierten WCF

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top