# XAMPP öffentlich zugänglich machen



## Creepaz (31. Okt 2019)

Moin,

mal eine Frage. Ich würde einem Kollegen gerne Zugriff auf meine XAMPP-Datenbank gestatten, da dort die Datenbank für unser Spiel liegt. Der Grund ist, dass ich bis jetzt keinen Free-Anbieter gefunden habe der externen Datenbank-Zugriff zulässt, denn zahlen dafür möchte ich erst kurz bevor das Spiel in den Startlöchern sitzt.

Ich möchte, das er z.B. was am Code ändern kann, damit es auch die Updates in der Datenbank gibt. Gibt es eine Möglichkeit, mittels Port-Öffnung oder Sonstiges ihm den Zugriff zu meiner lokalen Datenbank zu gestatten?

Vielen Dank im Vorraus.


----------



## Thallius (31. Okt 2019)

Du willst nicht wirklich deinen Rechner von außen zugänglich machen oder? Überhaupt wie stellst du dir dein Spiel vor wenn es später direkt auf die Datenbank zugreifen soll? Innerhalb von 5min findet jeder möchte gern Hacker die zuzgangsdaten in deinem Code und greift selber direkt auf die Datenbank zu und ändert seinen Highscore oder was auch immer noch da gespeichert ist. Das Spiel ist von vorneherein zum scheitern verurteilt weil garantiert alle möglichen Cheater das nutzen werden.

Datenbank Zugriffe macht man nur über einen webservice und der braucht eine möglichst sichere Anmeldung. Gerade bei spielen wird doch alles probiert um sich einen Vorteil zu verschaffen.

Und dafür gibt es auch genug kostenlose Anbieter wo du deine Datenbank mit webservice erstmal testen kannst

Claus


----------



## thecain (31. Okt 2019)

Gerade Xampp würde ich nicht öffnen. Daa wird mMn auch explizit davon abgeraten


----------



## Creepaz (31. Okt 2019)

Naja, ich möchte nur das mein Kollege darauf zugriff hat um alles aufzubauen. Später wird natürlich kein Zugang im Code stehen sondern extern Anfragen geschickt und als JSON-Parameter ans Spiel zurückgegeben.


----------



## kneitzel (31. Okt 2019)

Generell sollte man sich überlegen, wie man etwas entwickelt. Bei Datenbanken ist es eher unüblich, dass man da irgendwo einfach Daten einpflegt oder so.

Entwicklung sollte erst einmal irgendwo irgendwie in eine Versionierung einfließen, damit Änderungen nachvollzogen werden können. Das erleichtert Änderungen meist. Bei Datenbanken ist es dann üblich, dass man SQL Scripts sichert. Diese können sowohl den DDE Bereich abdecken als auch die eigentlichen Daten soweit es Sinn macht.
Aber im Bereich der Daten ist es oft eher üblich, dass man dafür andere Formate verwendet und dann lediglich Import / Export Funktionen bereit hält.

Was bedeutet das jetzt für Dich?
- Jeder Entwickler hat (mindestens) eine eigene Datenbank, die er für Entwicklung und Test verwenden kann.
- Diese Datenbank kann er jederzeit von Grund auf neu anlegen. (==> Er muss keine Angst haben, dass er da durch Änderungen irgendwas kaputt machen kann. Denn er kann es immer neu aufbauen.)
- Test / Abnahme und Produktion hat dann ggf. feste Datenbanken mit einem bestimmten Stand. Die sind dann z.B. wichtig, um Upgrades zu testen. Hier will man ja nicht alles neu aufsetzen...

==> Damit sind dann irgendwelche Ideen wie Zugriff auf Infrastuktur einzurichten schlicht unnötig.

Bezüglich Datenbank Deployment und so sind evtl. diese Tools interessant:
flyway: https://flywaydb.org/
liquibase: https://www.liquibase.org/


----------



## Creepaz (31. Okt 2019)

Okay, vielen Dank für deine Aufklärung. Werde mir die Tools mal anschauen sobald ich morgen von der Nachtschicht heimkomme.


----------



## mihe7 (1. Nov 2019)

Creepaz hat gesagt.:


> Ich möchte, das er z.B. was am Code ändern kann


Dafür verwendet man ein Repository mit Versionierung, also etwas wie github, gitlab bitbucket etc.


----------

