[Javascript] Variabel Übergabe: Javascript -> PHP

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

  • [Javascript] Variabel Übergabe: Javascript -> PHP

    Tag zusammen,
    ich bin relativ neu hier und ich hoffe ihr könnt mir weiterhelfen.

    Zu meinem Problem: Ich möchte eine Javascript-Variabel, die ich in einer Funktion definiert habe, einer PHP-Seite übergegen und deren Wert dann in eine Datenbank speichern.
    Meine bisherige lösung war es, mit Javascritpt die Variable in die URL zu schreiben und dann mit $_GET sie herauszulesen und abzuspeichern.

    Diese Lösung gefällt mir aber noch nicht, da man sie leicht manipulieren kann und das soll man nicht, weil es ein Highscore ist.

    Javascript-Code

    Quellcode

    1. function highscoreSaver(){
    2. var url = "score.php?score="+time;
    3. window.location = url;
    4. }


    PHP-Code

    Quellcode

    1. $score = $_GET['score'];


    Ich hoffe ihr könnt mir helfen.
  • Guten Morgen!

    Aus meiner Sicht macht eine Vorgehensweise, wie du sie anstrebst, wenig Sinn, da eine clientseitige Berechnung von Highscores immer unsicher ist. Es macht in jedem Fall mehr Sinn, soetwas Serverseitig (z.B. in PHP) ausführen zu lassen.
    Natürlich kannst du deinen JS Code via Uglifier/Minifier extrem unleserlich machen, aber du kannst ihn niemals komplett schützen, was auch der Grund ist warum alle wichtigen Operationen fast immer Serverseitig ausgeführt werden.

    Kannst du das Projekt, wofür du den Highscore brauchst, näher beschreiben?
  • Okay, in dem Fall würde ich auch einfach nur den Score per POST und AJAX übergeben (bevorzugt mit jQuery, da es hier am angenehmsten und einfachsten ist).

    Achte aber in jedem Fall darauf, den Score in PHP vor SQL Injections zu schützen!

    Du kannst das ganze auch noch weiter schützen indem du z.B. Serverseitig nur AJAX Requests zulässt oder TransaktionsIDs einbaust oder nur einen Request alle 10 Sekunden zulässt (wenn man im Spiel minimu 10 sec spielt) oder oder oder. :)
    Ist halt nur die Frage, wie viel aufwand du dort hineinstecken möchtest, da dir immer klar sein muss, dass du so eine Verbindung nie zu 100% Sicher machen kannst.

    Viel Erfolg und Liebe Grüße
    Bodo06
  • Danke für deine Antwort

    Ich werde mich mal in nächster Zeit in jQuery ein bischen einarbeiten. Der Schutz vor SQL Injections werden
    ich auch noch einbauen, da wir momentan auch in der Schule davon hatten.

    Mit der Sicherheit werde ich wahrscheinlich nicht so weit gehen, aber ich werde mal sehen. Je nachdem wieviel Lust ich noch habe ;) .

    Danke und Grüsse zurück
    gruebi1709