MySQL Passwort vor Dritten schützen?
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
abfangen
adresse
anfrage
angreifer
auslese
benutzer
code
datenbank
datum
frage
info
interface
minute
problem
programm
server
service
session
url
verbindung
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
adelwoehrer schrieb:
Kurzum: Eine API.
Mach einfach nen (Client-)Server der die MySQL Querys für den Client (In diesem falle dein Programm) ausführen soll und das Ergebnis an den Client schickt.
Hä?
In meiner Idee wäre es halt so, dass das Programm die Daten sammelt und an eine php übergibt. Beispielsweise kannst du das Programm anweisen, erstmal eine Verbindung zur API aufzubauen, um die Verbindung zu "Registrieren". Dazu sendest du einfach einen HTTP-Request an api.php?action=register, woraufhin der Server dir eine ID zurück gibt. An diese ID sendest du nun immer deine Daten, beispielsweise als request an api.php?ID=123456789ABCDEFGHIJ&action=INSERT&field=DeinFeld&daten=123456789
Die PHP nimmt nun also die Daten, überprüft die ID, indem sie $_GET['ID'] mit einer Session-Datenbank abgleicht ( Kann beliebig noch um Passwörter, etc. erweitert werden. ) und holt sich die jeweilige Aktion über $_GET['action'] und wenn diese dann "INSERT" ist, haut PHP das ganze über SQL in die jeweilige Stelle der Tabelle. Im Grunde brauchst du also zwei SQL-Tabellen, eine Session-Table, in der die jeweilige Session-ID ( bei Bedarf mit IP, etc. verknüpft ) mit dem Ablaufzeitpunkt in eine Tabelle geschrieben wird. Also prinzipiell 3 Spalten. (+ alle Infos die du dazu speichern willst )
Dann brauchst du noch eine Tabelle mit 4 Spalten die dann immer heißen "ID, SESSION_ID, KEY, VALUE" in welche du dann jeweils unter Key den übermittelten Schlüssel und über Value den übermittelten Wert einträgst.
Wenn du das ganze dann noch über eine mit SSL verschlüsselte Verbindung machst und ggf. die Daten als Post-Daten anstelle von GET anhängst, bekommst du schon eine ganz ordentliche Sicherheit. ( Natürlich könntest du die Daten auch noch manuell verschlüsseln mit AES o.ä. aber ich vermute, dass du keine Atombombenabschusscodes übermittelst , also halte ich das für unnötigen Unfug. )
Der Ablauf wäre dann:
Programm startet -> Bei der API registrieren und Session holen
Programm liest Info -> Sendet Info ( Schlüssel, Wert) zusammen mit Session-ID an API
Programm liest weitere Info -> Sendet Info ( Schlüssel, Wert) zusammen mit Session-ID an API
[...]
15 Minuten später:
[...]
Alle Infos geladen: -> Programm sendet Finish-Request an API und bekommt die berechnung zurück.
Alles in allem: Dein SQL-Passwort liegt bei der API, die für den Benutzer nicht einsehbar ist. So wirklich kompliziert ist das nicht. Ob du das ganze nun mit PHP oder einer eigenen Server-Anwendung machst, ist relativ unerheblich. Eine eigene Server-Anwendung ist etwas flexibler, aber naja... -
Aber wird denn das jetzt nicht bereits genau so mit der Session gemacht?
Ist doch nichts anderes, als eine ID zu vergeben, über die dann wärend der Gültigkeitsdauer alles läuft.
Die Werte übergebe ich bereits via $_GET['Wert'] and die jeweilige Session ID und über OpenSSL. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage