Ralf Loewe: Sichere High-Score-Liste ?

Hallo zusammen
Ich habe ein Spiel in Fash gebaut, das zum Schluß den Namen und die Punktzahl in Variablen an eine php3-Seite schickt. Diese PHP3-Seite speichert die Ergebnisse in eine Datenbank und liest sie auch wieder aus, um sie als High-Score-Liste darzustellen.
Wenn nun einer rausbekommt wie meine Variablen benannt sind kann er einfach ein Formular, in HTML mit diesen Variablen initialisieren und an die Php3  Seite schicken.  Wie kann man so etwas vermeiden.  
Im Voraus schonmal Danke für Lösungen und Anregungen
Ralf

  1. Hi Ralf,

    Ich habe ein Spiel in Fash gebaut, das zum Schluß den Namen und die
    Punktzahl in Variablen an eine php3-Seite schickt. [...]
    Wenn nun einer rausbekommt wie meine Variablen benannt sind kann er einfach
    ein Formular, in HTML mit diesen Variablen initialisieren und an die
    Php3  Seite schicken.  Wie kann man so etwas vermeiden.

    Schreibe zwei Variablen, die irgendwie (möglichst nichtoffensichtlich)
    zusammenhängen (Billigbeispiel: Puntkzahl und 1000-Punktzahl).
    Diesen Zusammenhang prüfst du dann im PHP-Script, wenn er nicht besteht, gibts
    auch keinen Eintrag.
    Das ist zwar nicht sicher, aber zumindest geschützt.

    Gruss,
    Carsten

  2. Hallo

    ich kenn mich nicht so gut mit PHP aus, schlag dir aber mal eine andere Lösung vor, die in anderen Programmiersprachen funktioniert.

    Und zwar wertest du einfach aus, woher die Anfrage kommt (mit PHP weiss ich leider nicht wie). Wenn sie von deinem Spiel kommt, trägst du die Anfrage ein, wenn nicht, ignorierts du sie.

    Siehst du, so einfach gehts.

    Übrigens, ich glaube das die Deutsche Bahn dieses Prinzip bei ihrem Surf&Rail-Ticket benutzt. Wenn du dein Ticket ausdruckst, wird unten die URL mitgedruckt, dort können/könnten (???, ich werds morgen auf der Fahrt nach Berlin sehen *freu* sehen) sie sehen, ob das Ticket gefälscht oder von ihrem Programm kommt.

    Tschö Matti

  3. tagchen,

    du brauchst doch nur deine datenbank so konfigurieren das nur das spiel drauf zugreifen kann (unter mySQL z.b. geht das mit 'host') oder wenn du ne textdatenbank hast vergibst du die rechte so das ein script von ner anderen IP gar keinen zugriff drauf hat....damit bist du fast 100% sicher ausser dir knackt einer den server....aber da hilf alle sicherheit nix :o))

  4. Hallo zusammen
    Ich habe ein Spiel in Fash gebaut, das zum Schluß den Namen und die Punktzahl in Variablen an eine php3-Seite schickt. Diese PHP3-Seite speichert die Ergebnisse in eine Datenbank und liest sie auch wieder aus, um sie als High-Score-Liste darzustellen.
    Wenn nun einer rausbekommt wie meine Variablen benannt sind kann er einfach ein Formular, in HTML mit diesen Variablen initialisieren und an die Php3  Seite schicken.  Wie kann man so etwas vermeiden.  
    Im Voraus schonmal Danke für Lösungen und Anregungen
    Ralf

    am besten du liest die serverumgebung aus:

    SERVER_NAME = Enthält den Namen des Servers (z.B. www.xy.com) oder die IP-Adresse (z.B. 127.0.0.1).

    HTTP_REFERER = Enthält die URL-Adresse der WWW-Seite, von der aus das CGI-Script aufgerufen wurde. Der Wert wird jedoch nicht von allen WWW-Browsern übermittelt, ist also nicht in jedem Fall verfügbar.

    $SERVER_NAME=$ENV{'SERVER_NAME'};
    $REFERER=$ENV{'HTTP_REFERER'};

    if ($SERVER_NAME ne "deinservername oder ip" && $REFERER ne "blablup"){

    &geh hin wohin du herkommst oder so
       }

    mach was ich will hier......

    func eigentlich immer..........

    Tool-pi