Скрытие параметров flash в php-скрипте - PullRequest
0 голосов
/ 22 июля 2010

Я хотел бы вызвать SWF-файл, который принимает некоторые параметры, но я не хочу, чтобы эти параметры отображались на клиенте (скажем, секретный токен аутентификации или что-то в этом роде).

Я думал, что янаписал бы простой PHP-прокси-скрипт, подобный этому:

header('Content-type: application/x-shockwave-flash');
readfile('http://path/to/swf/file.swf?here=are&some=parameters');

А потом просто сделать

<embed src="/path/to/php/proxy.php'/>

Но параметры флэш-памяти, похоже, не попадают в swf.Возможно ли что-то подобное?

Ответы [ 4 ]

0 голосов
/ 22 июля 2010

Подумайте еще раз, что вы делаете. Вы читаете SWF-файл с диска и передаете его пользователю. Интересно, почему файловая система принимает добавленные «параметры» без ошибок. Затем флэш-память запускается на компьютере пользователя. Где сейчас аргументы? Вы не отправили их пользователю, не так ли? Вы не изменили файл флэш-памяти, не так ли? Так что да, вам в основном не повезло ... Вы делаете то же, что и веб-сервер, только медленнее.

Что вы можете сделать, используйте межсайтовый скриптовый подход. Разошлите фрейм HTML со случайно сгенерированной «парольной фразой». Вы храните «парольную фразу» где-то, например, в базе данных. Затем используйте код, такой как:

<embed src="/path/to/php/proxy.php?pass=dfkhslrufbeuip'/>

Всегда показывать файл, только если он является действительной парольной фразой.

Хорошо, вспышка не защищена, пользователь все еще может «сохранить как» и воспроизводить ее в одиночку. Но, по крайней мере, у вас нет проблем с тем, чтобы кто-то использовал вашу пропускную способность с другого сайта ...

0 голосов
/ 22 июля 2010

Невозможно запустить флэш-фильм с параметрами, которые невидимы для пользователя.(Вы всегда можете использовать Firebug или что-то подобное.)
Самый простой способ - получить данные с сервера после запуска фильма и зашифровать связь между ними.

0 голосов
/ 22 июля 2010

То, как вы это делаете, параметры не отправляются как часть запроса GET, поэтому Flash никогда их не видит.

Нет прямого способа сделать то, что вы хотите, но ваш лучший выбор -заново генерировать токен аутентификации для пользователя при каждом входе в систему и даже поворачивать токен после каждого вызова, который вы делаете на сервер.

На самом деле вы ничего не можете скрыть от пользователя.сниффер (например, Fiddler / WireShark / Charles), так что динамический токен, вероятно, единственный путь (использование HTTPS / AMF, и все, что является паллиативным для защиты транспортного уровня, будет просто лишним, поскольку ваш основной токен все еще будет в открытом.)

0 голосов
/ 22 июля 2010

GET параметры не работают таким образом. Они работают только через Интернет. Может ли ваш SWF-файл принимать параметры каким-либо другим методом, таким как POST?

Лучшим способом было бы зашифровать их, но почти все, что вы делаете, вероятно, потребует изменения Flash, чтобы принять какой-либо другой тип ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...