Hallo Leute,
ich möchte folgendes realisieren:
Ich möchte mit einem Programm auf eine Datenbank im Internet zugreifen. Das Funktioniert alles prima, jedoch stehen die Zugangsdaten für die Datenbank im Quelltext und könnten nach einem Disassemblieren gelesen werden.
Um mein Programm sicherer zu machen wollte ich ein PHP Script auf dem Server ablegen. In meinem Programm kann man jetzt Benutzername und Passwort eingeben, das Script guckt in der Datenbank ob es den User finden kann und wenn ja, schicht mir das Script die Zugangsdaten zur Datenbank, damit das Programm direkt auf die Datenbank zugreifen kann.
Wie bringe ich jedoch QT dazu mit einem PHP Script zu kommunizieren ?
Bzw. gibt es da elegantere Methoden für ein solches Sicherheitsproblem ?
Danke schonmal für Anregungen.
QT4.6: Abfrage eines PHP Scripts
Wenn ich das richtig verstanden habe, möchtest du dich quasi per Benutzername und Passwort beim Server anmelden und dann vom Server die Zugangsdaten der Datenbank erfragen.
Zum einen kannst du ja bei Benutzername und Passwort direkt die Nutzerdaten der Datenbank eingeben, wobei du dann ggf. die Daten nicht frei wählen kannst und das Passwort möglicherweise nicht so einfach zu merken ist.
Eine andere Möglichkeit ist, das Datenbank-Passwort verschlüsselt im Quelltext zu speichern. Dein Programm fragt dann ein vorher festgelegtes Passwort ab (das Passwort mit dem dein DB-Passwort verschlüsselt wurde) und entschlüsselt die Zugangsdaten. Damit sparst du dir den Umweg über den Webserver.
Zum einen kannst du ja bei Benutzername und Passwort direkt die Nutzerdaten der Datenbank eingeben, wobei du dann ggf. die Daten nicht frei wählen kannst und das Passwort möglicherweise nicht so einfach zu merken ist.
Eine andere Möglichkeit ist, das Datenbank-Passwort verschlüsselt im Quelltext zu speichern. Dein Programm fragt dann ein vorher festgelegtes Passwort ab (das Passwort mit dem dein DB-Passwort verschlüsselt wurde) und entschlüsselt die Zugangsdaten. Damit sparst du dir den Umweg über den Webserver.
Ja du hast das soweit richtig verstanden. Danke für die Antwort. Nur dass ich Benutzername und Passwort zur datenbank nicht eingeben lasse. Es gibt eine Datenbank, in der Userdaten gespeichert sind. Man gibt am Programmstart Benutzername und Passwort ein (um das Programm benutzen zu dürfen), dabei muss jetzt eine Verbindung zur Datenbank hergestellt werden.
Ich könnte natürlich das Passwort verschlüsselt im Quelltext ablegen, aber der Algorithmus zum entschlüsseln wäre ja auch im Quelltext. Demnach könnte das auch wieder jemand entschlüsseln.
Ich weiß nicht wie man üblicherweiße Daten in einem Programm sicher schützt. Deshalb würde ich gern wissen wie QT mit einem PHP skript kommunizieren kann.
Ich könnte natürlich das Passwort verschlüsselt im Quelltext ablegen, aber der Algorithmus zum entschlüsseln wäre ja auch im Quelltext. Demnach könnte das auch wieder jemand entschlüsseln.
Ich weiß nicht wie man üblicherweiße Daten in einem Programm sicher schützt. Deshalb würde ich gern wissen wie QT mit einem PHP skript kommunizieren kann.
Wenn du das Passwort verschlüsselt im Quelltext ablegst, dann kann der Algorithmus ruhig bekannt sein. Du kannst ja ein beliebiges Passwort zur Verschlüsselung wählen, nur dieses darf dann nicht im Quelltext liegen, sondern muss vom Benutzer eingegeben werden.
Es bleibt also immer noch bei dem Konzept, dass man ein Passwort benötigt, um das Programm benutzen zu können. Nur wird dann eben nicht der Webserver kontaktiert, sondern das DB-Passwort aus dem Quelltext entschlüsselt und dann kann sich das Programm mit der Datenbank verbinden.
Es bleibt also immer noch bei dem Konzept, dass man ein Passwort benötigt, um das Programm benutzen zu können. Nur wird dann eben nicht der Webserver kontaktiert, sondern das DB-Passwort aus dem Quelltext entschlüsselt und dann kann sich das Programm mit der Datenbank verbinden.