Senden und Empfangen von Spiel zu Webserver

    • GM 6

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Senden und Empfangen von Spiel zu Webserver

      Werteübermittlung zwischen Spiel und Server

      Hallo liebe gm-d Community,

      da ich in meinen Spielen einen Login mit Passwortabfrage habe, und viele statistische Daten online abspeichere, suche ich nach einem sicherem und schnellem Weg, die Daten von meinem Spiel auf den Server zu übermitteln, und umgekehrt.



      Momentan arbeite ich mit der http.dll von Blackspark.

      Das Spiel bezieht also die Werte der benötigten Variablen beim starten des Spiels aus verschiedenen Textdateien, die auf meinem Webspace gelagert sind. Bei jedem abschließen einer Runde im Spiel, werden die Inhalte der Variablen dann an ein PHP-Script auf dem Webspace gesendet. Dieses übermittelt die Werte dann mittels fopen und fwrite wieder in die Textdateien, aus denen die Werte beim Starten des Spiels bezogen wurden.


      Dies hat wunderbar bei meinem ersten Spiel dieser Art funktioniert, und funktioniert auch bei meinem jetzigem Spiel.
      Allerdings sind die Passwörter nicht verschlüsselt, und jeder der ein bisschen Ahnung davon hat, könnte mit Sicherheit den Pfad zu den Textdateien herausfinden, und sie einfach über den Webbrowser öffnen.

      Ich möchte meine Spieler ein wenig mehr vor so etwas schützen, da irgendwann bestimmt einer dabei ist, der solche Absichten hat.
      Zudem sind das ganze ca. 7 Werte die übermittelt werden, also hängt es immer ein wenig wenn die Daten gesendet / bzw. bezogen werden.


      Also: Gibt es eine Möglichkeit, die Dateien zu Verschlüsseln und wieder zu entschlüsseln? Am besten gleich in einer Datenbank abzuspeichern (hab mir sagen lassen eine Datenbank wäre dafür am besten). Und vor allem - wie setze ich das am besten um?




      GML-Quellcode

      1. // Momentaner Code zum Beziehen der Daten (Beim Game Start)
      2. global.punktespeicher = (http_request("risiko-forum.de","/Online/sHarivaRi/Daten/Punktespeicher.txt"));
      3. // Momentaner Code zum senden der Daten (Bei abschließen einer Spielrunde)
      4. http_add_post("punktespeicher",string(global.punktespeicher));
      5. http_request("risiko-forum.de","/Online/sHarivaRi/schreiben.php");



      PHP-Quellcode

      1. // Dieses Script schreibt die Daten in die Textdateien
      2. <?
      3. if (file_exists("Daten/Punktespeicher.txt")){
      4. $fp=fopen("Daten/Punktespeicher.txt", "w");
      5. fwrite($fp, $_POST[punktespeicher]);
      6. fclose($fp);}
      7. ?>


      Und so sehen die ganzen Daten aus den .txt's dann aus, wenn sie mittels PHP auf ein Bild geschrieben wurden.
      Es muss also auch möglich sein, die Werte dann noch auszulesen und auf ein dynamisches Bild zu setzen.



      Ich hoffe jemand ist dabei, der mir bei diesem Projekt helfen kann, denn ich weiß absolut nicht, wie ich es angehen soll.



      Liebe Grüße,
      Sharivari

      PS. PHP beherrsche ich leider nicht so wirklich, MySQL schon mal garnicht und von Datenbanken hab ich gleich noch weniger Ahnung...
      Dieser Beitrag wurde bereits 1909 mal editiert, zuletzt von »Sharivari« (Morgen, 19:89)
    • Eine einfache, dennoch sichere alternative für Mysql Datenbanken wäre md5.

      PHP-Quellcode

      1. $hash = md5( string ); // Generiert den MD5 - Hash des strings.


      Leider, kann man trotzdem (wie oben schon verlinkt) mit anderen Seiten ganz einfach die Hashstrings "entschlüsseln".

      Deshalb: lern php/mysql lieber jetzt, anstatt später zu merken, dass es doch einfach ist (was es auch wirklich ist) und dann musst du alles neuschreiben.
      ( für Tutorials einfach googlen )

      - Tobi97
    • versuch doch mit den ganzen werten einen zusammenfassenden checksum mitschicken.

      Zumbeispiel irgendwie:
      alle werte zusammenzählen (strings vorher in real umwandeln),
      letzten 6 ziffern herausnehmen,
      diese durch pi teilen und mim cosinus bearbeiten,
      das nochmal mal 10 und in strings umwandeln.

      schon hast du den perfekten datenschutz.

      (übrigens ist mein problem noch ne stufe vorher. Ich hab keine ahnung, wie ich die daten senden und empfangen soll . . .)
      ////////////////////////////////////////////////////////////////////////////////////////////////
    • Benutzer online 1

      1 Besucher