Mit PHP prüfen ob Daten von Flash gesendet wurden?

Wuffel11

Grünschnabel
Hallo,

die Frage bezieht sich eig. mehr auf PHP, wird aber wohl hier im Flashforum am ehesten beantwortet werden können.

Ich habe eine PHP Funktion, die von einem Flashskript per LoadVars aufgerufen wird. Ich will in PHP überprüfen, ob wirklich das Flashskript der Sender war, oder ob man es nicht z.B. über ein POST Formular gemacht hat.

Da jeder die URL zum Flashskript rausfinden kann, kann es auch jeder runterladen, und mit einer eigenen PHP Datei, auslesen, welche Daten das Flashskript sendet. Um dann eben zu verhindern, dass diese PHP Funktion missbraucht wird, soll geprüft werden, ob es auch von Flash kam.

Im Internet Explorer (Version 7) geht das über die $_SERVER['http_refferer'] Variable. Aber Firefox unterstüzt das leider nicht.

Kennt ihr noch eine andere sichere Möglichkeit?
 
Hi,

die superglobale Variable lautet
PHP:
$_SERVER["HTTP_REFERER"]
(mit zwei "R", nicht mit 3)

Auch wenn einige Browser den Referrer (optional) nicht mitsenden, unterstützt Firefox das Senden standardmäßig.

Du könntest dem Flashfilm beim Start (z.B. über FlashVars) eine eindeutige ID (z.B. eine kurzlebige Session-ID) mitgeben, die dieser bei jedem Aufruf an den Server mitsendet. Fehlt diese ID (oder ist sie fehlerhaft), unterbindest Du den Ablauf des Scriptes.

Ein böswilliger Benutzer kennt nun zwar die URL des PHP-Scriptes und eine aktuelle ID - die hilft ihm aber nicht unbedingt weiter, wenn sie nur eine begrenzte Gültigkeit (z.B. 1 Stunde) hat.

Auch könntest Du z.B. einen Timestamp übergeben, der vom Flashfilm nach einer bestimmten Formel umgewandelt und zurückgeschickt wird. Um an den Algorithmus zu kommen, müsste der Benutzer dann zumindest die SWF dekompilieren und analysieren.

Gruß
.
 
Zurück