phpbar.de logo

Mailinglisten-Archive

[OT] Re: [php] Sichere Datenuebertragung von Flash nach PHP

[OT] Re: [php] Sichere Datenuebertragung von Flash nach PHP

Tom Horstmann php_(at)_phpcenter.de
Fri, 12 Apr 2002 00:41:17 +0200


[..]
> dann isses kein client mehr ;)

Stimmt:)

[..]
> sorry, aber das ist keine gute idee...

Warum??


> die beste idee ist wirklich die eintragung der punkte durch das
> php-script
> erst ab einer mindest höhe zu erlauben...
> bis dahin soll ein would-be-hacker erstmal kommen,
> dann kann er nämlich auch gleich ehrlich spielen ;)
>
> das ganze würde ich noch mit meiner md5-lösung koppeln und dann
> sollte das zwar nicht sicher aber zumindest abschreckend sein.
> und das ist schonmal eine wirkungsvolle abwehr gegen mindestens
> 99 % der freaks...

Ja, die Frage, wieviel Sicherheit man fuer die Uebertragung von
Spielstaenden braucht, stellt sich ja eh.


> aber die algorithmen reinladen, geht nur über den http-weg oder ?
> wie bereits bemerkt: den http-traffic mitsniffen und sim-sala-bimm
> hab ich deinen algorithmus...

http oder sonstwas is ja rel. egal. Was ueber die Leitung geht is auch
sniffbar.
Nur stoert mich das herzlich wenig, wenn Du Programmcode sniffst. Da
lass ich doch mein Skript einfach:) alle Daten, die mit der Routine
erstellt wurden nach 60 Sekunden zurueckweisen.

Vielleicht kann ich das Ganze etwas naeher beschreiben: Wir wollen
Pacman spielen und starten das swf. swf connected nu zum Skript.
Skript nimmt sich eine von 100 versch. Routinen und schickt die
zum client. Welche das war, wird in ner session gespeichert.
Die Routinen sind zwar versch., machen aber eigentlich alle das
selbe. Sie zeichnen nen gelben smilie und ein paar Geister.
Auch wenn mehr sicher noch viel schoener waer, lassen wir mal nur
den Variablennamen fuer die Punktestand-Uebertragung zum server
innerhalb der Routinen verschieden sein.

Beim Spielende ist nun ein Punktestand entstanden. Den soll die
Routine zum server senden. Sie nimmt also die Variable fuer den
Punktestand, setzt deren Wert auf 1000 und sendet den ganzen Kram
zum server.
Der weiss ja, welche Variable den Punktestand enthalten muss. Steht
ja in der session. Und wir haben das nu auch gesnifft.
Also nehmen wir den client, starten den und spielen ein wenig. Mitten
im Spiel killen wir den Prozess. Der client konnte noch keinen
Punktestand senden, hat aber fuer uns ne session beim server angelegt.
Jetzt senden wir unsere 100000000000 Punkte mit dem alten Varnamen.
Keine Chance. Passt ja nich zur vorher gesendeten Routine und damit
nicht zur Vereinbarung ueber den aktuellen Varnamen.

Ok, da is ein Haken: Wir haben ja recht lange Zeit, die uebertragene
Routine auszuspionieren. Laesst sich aber ueber einen rel. haeufigen
Routine-Wechsel innerhalb der einzelnen Spiel-session beheben, denk
ich. Mehr oder weniger nur eine Frage des Aufwands:)


Gruss,

TomH

--
Tom Horstmann - SeventhWeb

www:  http://www.7thweb.de
email:      info_(at)_7thweb.de
cellphone: +49 174 4194970

--


php::bar PHP Wiki   -   Listenarchive