MySQL Kurze Frage zur Sicherheit

8D.

Mitglied
Ein "Moin Moin" in die Runde 😉.
Ich habe eine kurze Frage zur Sicherheit bei der Verwendung einer DBConnection in Java.
Ich habe, ich nenne es mal, in allgemeineren Foren bereits gefragt, wo dann Begriffe wie JDBC API gefallen sind.

Meine Frage ist nun, wie sollte man das ganze abrunden, jar-Files können ja leicht entpackt und ggf. die class-Files decompiled werden, von daher bietet es sich dann ja nicht an, die Datenbankverbindungsdaten direkt in einer Klasse mitzuliefern.

Oder sollte man doch da lieber zu einem PHP Script greifen, was sich dann als Schnittstelle anbietet?

Vielen Dank,

Fabi.
 
Was machst du denn? Erstmal muss geklärt werden: bist du dir sicher, dass sich jemand für das PW in deinem Programm jemals interessieren wird?
Du kannst ja das PW verschlüsseln, den Quelltext verschleiern oder was auch immer (u.A. auch die Verbindung auslagern, was aber u.U. witzlos ist, weil der "böser Bösewicht" ja auch auf die Schnittstelle zugreifen kann).
 
Danke schonmal für die Antwort.
Ein Beispiel habe ich noch nicht, wollte mich generell mal informieren.
Also sagen wir mal, kenne ich von anderen Leuten, sie betreiben einen Gameserver, wo die Spielerdaten in einer MySQL-DB gespeichert werden. Nun hätte gerne jener Serverbetreiber eine Desktop-Anwendung (macht zwar nicht viel Sinn, aber wurscht), für seine Benutzer wo z.B ihre Stats ausgelesen werden, aus der Datenbank.
Da dann dort die .jar zum DL bereitsteht, denke ich schon, dass manche Spieler denken werden, es über decompilen und somit über die Daten für die DBConnection (Passwort etc.) sich ihre Stats ein wenig "verbessern" wollen, indem sie einfach in der Datenbank ihre Werte ändern.

In diesem Fall wären bestimmt dann schon ein paar an dem PW interessiert.
Dieser Fall ist jetzt nicht mein Wunsch, sondern dient einfach nur als Beispiel 😉

Vielen Dank,

Fabi.
 
1. Der mysql benutzer sollte nicht die Berechtigung zum Schreiben haben.
2. Da brauchst du nicht mal Zugriff auf die Datenbank (in der jar). Du brauchst nur eine Schnittstelle, die dir die Daten als (z.B.) XML ausgibt.
 
Platsch.
Über (1.) hätte ich in diesem Fall gar nicht nachgedacht.

Bei 2. Was bietet sich denn da als Schnittstelle an?
 
Für mich klingt es so, als würdest du das als pures Javaprojekt umsetzen wollen.
Dann bietet sich vielleicht an, per Server auf die DB zu zugreifen und den User per Client mit dem Server zu verbinden.
Dann kannste lesen und schreiben auf der DB und der User kommt nicht an das Passwort ran.

Ist allemal besser, als direkt auf die DB drauf zu gehen.

//Edit, zumal du dann eine UserDB anlegen kannst, die die Berechtigungen für jeden einzelnen User verwaltet.
Bei einem Tool für einen Gameserver vielleicht ganz nützlich, weil man dann direkt die logindaten vom Spiel nehmen könnte.

//Edit2, hier fiel ja schon das Stichwort "Verschleiern", da google mal nach "Obfuscator", der macht das für dich.

Gruß Vanny
 
Zuletzt bearbeitet von einem Moderator:
Ein "Moin Moin" in die Runde 😉.

Oder sollte man doch da lieber zu einem PHP Script greifen, was sich dann als Schnittstelle anbietet?
Fabi.

bin zur Zeit auch dabei eine Art PHP-Schnittstelle zwischen Client und DB zu basteln, daher die Frage: Gibt es da bewährte herangehensweisen?
Konkret würde ich in meinem Fall die .php Datei aufrufen und das ergebnis Parsen, wenn es sichum eine Select-Abfrage handelt.Gibt es da etwas eleganteres?
 
Ja klar,

über Webservices, die dir das ganze Parsen erleichtern / abnehmen.

Über eine WSDL Grundlage kannst du dann für Java und dein PHP entsprechende Sourcen generieren.

Gruß,

Martin
 
Ich bin mir nicht sicher, wie genau ich das verwende soll bzw. ob es mir einen Nutzen bringt. Deswegen würde ich um einen weiteren Schubs bitten.
An dieser Stelle eine mehr oder weniger detailierte Beschreibung meines Vorhabens:
Ein Java Programm soll auf eine online DB zugreifen und Werte einfügen/abfragen. Da kein direkter externer Zugriff auf die DB möglich ist, habe ich mir gedacht dies über entsprechenden PHP Code zu realisieren.Konkret dachte ich an etwas wie:
1) In DB einfügen: URL der PHP Datei aufrufen und Variablen übergeben, diese fügt die Variablen in entsprechende Tabelle ein.
2) Daten abfragen: Eine andere PHP-Datei mit 1-2 Variable aufrufen, die dann ein SELECT Statement ausführt. Das Problem hierbei ist jetzt die Übergabe der abgefragten Daten an das JAVA-Programm. Ich dachte mir an dieser stelle einen String-Tokenizer einzusetzen...
Oder wie kriege ich jetzt die Daten aus dem PHP Code in meinen JAVA Code?
 
Zuletzt bearbeitet:

Zurück
Oben