Autor Beitrag
Borg-Cube
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


Delphi 2009
BeitragVerfasst: Fr 22.07.11 16:45 
Hallo zusammen

Ich habe in einem Programm eine Verbindung zu einer MySQL-Datenbank implementiert. Dazu ist im Quelltext sowohl das Passwort als auch der Benutzer der Datenbank logischerweise vorhanden. Wenn ich das Programm nun herausgebe, kann man daraus den Benutzer und dass Passwort irgendwie extrahieren?

Falls ja: Wie kann man so etwas sicher realisieren?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.07.11 16:50 
Ein serverseitiges Skript / Programm, mit dem dein Programm kommuniziert, macht da mehr Sinn als eine solche "Lösung".

Wenn du das Passwort gar nicht geschützt hast, kannst du die Exe sogar im normalen Windows Editor öffnen und findest es dort im Klartext. Und selbst wenn du versuchst es zu verschleiern, man bekommt es immer relativ einfach heraus, da du es ja irgendwann unverschlüsselt im Arbeitsspeicher liegen hast.
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


Delphi 2009
BeitragVerfasst: Fr 22.07.11 16:56 
Also wäre es clever bzw. sicherer die Daten an eine PHP-Datei zu übermitteln (per POST oder GET) und von dort in die Datenbank zu schreiben, oder?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19338
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 22.07.11 16:59 
Ganz genau. Und alle gesendeten Daten müssen natürlich escaped und geprüft werden bevor das Skript diese in die Datenbank schreibt.

So bist du auf der sicheren Seite. Selbst wenn jemand dein Skript knackt, kann er dir höchstens die Datenbank füllen oder ähnliches, kommt aber nicht an vorhandene Daten heran außer über das vorgegebene Interface. Die Skripte dürfen natürlich nicht mehr Funktionen zur Verfügung stellen als da sein sollen.