# Datenbank vor unerlaubtem Zugriff durch Benutzer schützen



## moritzsauter (14. Feb 2018)

Hallo Community,

ich habe da ein Problem: Um mit einem Java-Code auf eine MySql Datenbank zuzugreifen, müssen im Code der Benutzername und unter anderem auch das Passwort hinterlegt werden.

Zum Beispiel so: 
cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", username, password);

*Bei Java kann der Code jedoch ganz einfach, auch vom Endbenutzer, entschlüsselt und verständlich dargestellt werden.*

Wenn es sich bei dem Zugriff auf die Datenbank aber um einen Wert handelt, der zum Beispiel die_ Münzanzahl in einem Spiel_ speichert, dann wäre es schlecht, wenn der Benutzer den Code entschlüsselt und sich somit das* Passwort zur Datenbank* darstellen lässt.
Dann könnte er selbst darauf zugreifen und den Wert ganz einfach nach Belieben ändern.

*Frage: Gibt es Möglichkeiten, dem Endbenutzer diesen Zugang zum Passwort zu verwehren. Oder gibt es andere Möglichkeiten, diese Problematik zu lösen, vllt. auch ganz andere Ansätze?* Ich meine, es gibt ja zahlreiche Spiele, die den Spielstand auf einem Server speichern, worauf mit Java zugegriffen wird. Und die "hackt" man auch nicht einfach so...

Vielen Dank für eure Antworten


----------



## Thallius (14. Feb 2018)

Ja, man greift niemals direkt auf eine Datenbank zu die auf einem Server liegt. Für so etwas schreibt man auf dem Server einen Webservice


----------



## moritzsauter (14. Feb 2018)

Thallius hat gesagt.:


> Ja, man greift niemals direkt auf eine Datenbank zu die auf einem Server liegt. Für so etwas schreibt man auf dem Server einen Webservice


Danke für deine schnelle Antwort!
Wie muss ich mir das genau vorstellen? Die Tutorials im Internet greifen auch alle direkt auf die Datenbank zu. Wo kommt dann der Webservice ins Spiel? In welcher Sprache ist der und wie krieg ich "den da rein"?
Also wie sieht das seitens Java aus und wie seitens des Servers? Gibt es da gute Tutorials dazu?


----------



## truesoul (15. Feb 2018)

Hallo. 

Es wird unterschieden zwischen Frontend und Backend. 
Frontend ist das was der Benutzer zu sehen bekommt und die Daten kommen vom Backend (WebService).

Schaue dir mal ein paar Beispiele an. 

Grüße


----------

