Slot in Projekt einbinden

punktespiel.de

PHP-Programmierer
13 September 2007
93
5
Ich habe leider absolut keine Ahnung von Flash in zusammenarbeit mit PHP.

Ist es ohne Probleme möglich dass ich Slots die es hier im Forum gibt an meine Seite anzupassen, oder auf was muss ich achten?

greets error404
 
Alle Flash-Movies kommunizieren via GET/POST-Parameter. Du musst wissen, wie das Interface funktioniert:
Ein Flash-Movie öffnet eine bestimmte URL, um Daten einzulesen, die im Format "var=value&var2=value2&..." kommen, z.B. ob User eingeloggt is, Punktestände etc. Das Autor des Flash-Movies muss dir diesen Teil des Interface mitteilen. D.h. du musst a) die URL kennen, die das Flash-Movie mit welchen Parametern aufruft und b) die Parameter wissen, die dein PHP-Script an das Flash-Movie zurückgeben muss.
 
Dann kommt aber schon meine nächste Frage, diese Art der Kommunikation ist ja nicht gerade sicher, da die Kommunikation Clientseitig erfolgt. Ein Paket-Sniffer und schon hat man mal ein wenig mehr gewonnen.

Wo liegt denn dann die "Sicherheit" bei Flash-Slots?
 
Wo liegt denn dann die "Sicherheit" bei Flash-Slots?
Die Spielelogik spielt auf der Serverseite. Clientseitig ist nur die primitive Anzeige, die eigentlich nicht gebraucht wird. Sie hat nur den Zweck, dass die Grafiker Arbeit haben und es besser aussieht

Bsp:
  • Ich rufe die Webseite mit dem Slot auf
  • Der Flash-Slot lädt und sendet einen GET-Request an www.example.com/flash/infos.php
  • Als Antwort bekommt er userid=69505&lose=4711
  • Darauf hin zeigt er meine User-ID und den Kontostand und geht in den Bereit-Zustand
  • Ich klicke Start
  • Der Flash-Slot sendet einen GET-Request an www.example.com/flash/spiel.php?einsatz=1000
  • Das Spiel läuft und ist in Millisekunden-Anteilen entschiedenen. Als Antwort bekommt der Flash-Slot das Ergebnis win=1&winlose=5000&jp=42
  • Ganz langsam stellt der Slot das Ergebnis dar
Client / Server

Fazit: Man könnte das Spiel auch spielen, indem man immer www.example.com/flash/spiel.php?einsatz=1000 aufruft und ständig auf F5 drückt.
 
Ahja, dann ist dass was anderes :p.

Mal schnell ne Site *raussuch und probier*.

Nee mal Spaß beiseite, dass kann auch dazu missbraucht werden nen Server extrem zu belasten... Die Flash-Slots "laufen" ja, womit jeweils ein paar Sekunden zwischen den Anfragen vergehen.

Aber jetzt ist mir dass natürlich klar. Wir programmieren und die Flash-Designer stellens grafisch dar.
 
Nee mal Spaß beiseite, dass kann auch dazu missbraucht werden nen Server extrem zu belasten... Die Flash-Slots "laufen" ja, womit jeweils ein paar Sekunden zwischen den Anfragen vergehen.
In der Praxis wird es wohl eher anders aussehen: Das Downloaden von einem Flash-Movie verursacht rund 1 MB Traffic. Solche Dateien werden von den Web-Clienten nicht gecached. Würde man jetzt immer direkt beim Script spielen, mutmaße ich mal, wär das unterm Strich besser.

Die vielen Slots, die ich kenne, sind die Scripts alle per Copy&Paste gemacht; die Flash-Movies entsprechend. Da gibts 3-4 Grundtypen und wohl jeder, der's in Erfahrung bringen will, kriegt die URL für das Direkt-Spiel raus.

Pseudo-Sicherheit kann man einbauen, indem das Flash-Movie dem Game-Script einen Schlüssel mitgibt, mit dem das Flash-Movie gegenüber einem Direktaufruf identifiziert werden kann.
Bringt aber rein gar nix, da man .swf-Dateien dekompilieren kann, d.h. den Schlüssel einfach ablesen kann.

Grundsatz im Web: Du kannst niemanden hindern, etwas aufzurufen, was öffentlich im Netz steht.
 
[..]Pseudo-Sicherheit kann man einbauen, indem das Flash-Movie dem Game-Script einen Schlüssel mitgibt, mit dem das Flash-Movie gegenüber einem Direktaufruf identifiziert werden kann.
Bringt aber rein gar nix, da man .swf-Dateien dekompilieren kann, d.h. den Schlüssel einfach ablesen kann.[..]

Ja, so ist es. Aber man kann auch mit speziellen Programmen den Code verschlüsseln, wie viel diese Verschlüsslung bringt weiß ich nicht. Da gibt es sicher auch Entschlüsselprogramme für ^^
 
Ja, so ist es. Aber man kann auch mit speziellen Programmen den Code verschlüsseln, wie viel diese Verschlüsslung bringt weiß ich nicht. Da gibt es sicher auch Entschlüsselprogramme für ^^

zum Glück nicht, es gibt da zB Flashincrypt welches den gesamten Code durch nen Obfuscator jagt, also wenn du den Code danach noch verstehst bist du echt krank und solltest dir gedanken machen :ugly:
 
zum Glück nicht, es gibt da zB Flashincrypt welches den gesamten Code durch nen Obfuscator jagt, also wenn du den Code danach noch verstehst bist du echt krank und solltest dir gedanken machen :ugly:

Flashincrypt werde ich mir mal anschauen ;) Ich hatte mal die Trial von 'SWF Encrypt' ausprobiert, vom dem Code hat man auch nicht mehr viel verstanden ;) Aber da waren noch vereinzelnd Stellen nicht verschlüsselt.

EDIT: Oh lol, das sind ja die gleichen Programme :-D
 
Wieso ein Flash-Verschlüsseln? Gegen Diebstahl ok, aber ein Paket-Sniffer liest trotzdem alles aus was übergeben wird und dass ohne Entschlüsseln!
 
Wieso ein Flash-Verschlüsseln? Gegen Diebstahl ok, aber ein Paket-Sniffer liest trotzdem alles aus was übergeben wird und dass ohne Entschlüsseln!

Uff.. stimmt, Paket-Sniffer gibt es ja auch noch.

Man könnte eventuell den aktuellen Timestamp mit einer 2-Weg Verschlüsselung (kann eigentl. auch ganz simpel sein) verschlüsseln und an die URL hängen, in PHP dann entschlüsseln, und dann gucken ob der Timestamp aus der URL (+-20sek z.B.) mit dem aktuellen stimmt, wenn ja zulassen, wenn nein nicht zulassen.
Das wäre so eine Möglichkeit die mir im Kopf hängt, aber auch sehr kompliziert umzusetzen und man müsste schauen ob sich der Aufwand lohnt.

Nun wäre es für einen Hacker sehr kompliziert alle 20 Sek die neue URL zu holen und im Script einzusetzen.
 
Zuletzt bearbeitet:
[...] aber ein Paket-Sniffer liest trotzdem alles aus was übergeben wird und dass ohne Entschlüsseln!
Genau das meinte ich.
Jetzt kann man den Datenaustausch noch irgendwie verschlüsseln, aber der Code zum En- und Dekodieren steht ja im Flash-Movie, was auch ned 100%ig sicher is.

Zusammengefasst: Ein Flash-Movie muss man nicht schützen, da es eh nur Visualisierung für den Menschen vor der Flimmerkiste is.
Mein Webserver läuft ja zum Glück auch so, ohne, dass ein Bildschirm angeschlossen is :mrgreen:
 
Zusammengefasst: Ein Flash-Movie muss man nicht schützen, da es eh nur Visualisierung für den Menschen vor der Flimmerkiste is.

stimmt ;)
Es seidenn man muss eben aus irgendwelchen Gründen den Code der Visualisierung schützen, da der nicht trivial ist und es ja auch hier schon öfters Diebe gab.
 
Zuletzt bearbeitet:
Des verschlüsseln ist schon gut so, wenn man sich vorstellt dass ansonsten jede Seite zig kopierte Slots am laufen hätte *grusel*.

Edit:
Aber wenn wir schon dabei sind, weiß jemand ne gute Tutorial-Seite für Flash mit anbindung an PHP-Scripte?
 
Zuletzt bearbeitet:
Ich kenne mich in Flash absolut überhaupt nicht aus. Ich mach mich jetzt mal auf die suche in google nach nem Tutorial für LoadVars in Flash