PDA

Просмотр полной версии : Запретить запуск с локалки SWF


OverFLY
12.10.2006, 03:09
Как запретить запуск с локалки SWF файла??
Ведь можно передавать php скрипту откуда запущен swf и если с любого другого URL кроме родного то отказываться принимать любые посылаемые ему переменные??
Возможно ли это?? И как это организовать??

Это необходимо для защиты удаленного swf!!!

Dendroid
12.10.2006, 04:44
Такой вот способ:
restricted = ["mydomain1.com", "mydomain2.com/test"];
block = true;
for (var i = 0; i<restricted.length; i++) {
if (_url.indexOf(restricted[i])<14 and _url.indexOf(restricted[i])>-1) {
block = false;
}
}
if (block) {
_visible = false;
stop();
}
ещё можно добавить к предыдущему или использовать отдельно:
if (_url.indexOf("file")==0) {_visible = false;stop();}

Это конкретно защита от запуска с локального диска.

OverFLY
12.10.2006, 12:32
А разве прокатит такой способ?? Этож ActioScript !!! Отдекомпельнут флешку и все!!!
Не мне надо через PHP, может возможно это както организвать через actionscript-->document.referrer
Т.е. видим адересс откуда пришел если с нашего скрипта №1 то даем юзать нашскрипт№2 ??

Дело в том что flash общаеться с пхп скриптом и берет оттуда необходимую информацию, хочу сделать так чтоб при запуске с локалки скрипт обнаруживал это и не отсылал данные этому флешу!

etc
12.10.2006, 13:17
«Удалённый» swf попадает в кеш, так или иначе.

OverFLY
12.10.2006, 13:29
Ну и пусть попадает в кеш!!!Да мне до swf нет дела!! Пусть декомпилят, изменяют его как хотят!! Главное чтоб запущенный swf c локалки определялся удаленным скриптом и в него не передавались данные из скрипта!! Таким образом - полноценно будет работать сайт только с необходимого мне URL

etc
12.10.2006, 13:33
Ну пусть твой swf в запросе передаёт _url скрипту.

OverFLY
12.10.2006, 13:37
- очень глупый ход!! Опять же - декомпильнут и подменят _url.

Надо чтоб php скрипт знал окуда ему шлют GET или POST запросы!!!
Помоему мой вариант с проверкой referrer - единственно возможный.

etc
12.10.2006, 13:52
- очень глупый ход!!
Очень глупый ответ.
referrer при запуске с локального диска пуст, это раз.
И у многих пользователей referrer вообще всегда пуст, независимо от места запуска. :bye:

OverFLY
12.10.2006, 14:00
Очень глупый ответ.
referrer при запуске с локального диска пуст, это раз.
И у многих пользователей referrer вообще всегда пуст, независимо от места запуска. :bye:
А вот тут ты не прав!!!

На удаленке он всегда полный!!

etc
12.10.2006, 14:24
А вот тут ты не прав!!!

На удаленке он всегда полный!!
Бред говорите. В браузере (в Opera например) можно отключить referrer.
И у меня в Firefox отключен.

OverFLY
12.10.2006, 15:23
Referer может и можно выключить, но при выключенном referer можно предупреждать пользователя чтоб он его включил.....А если referer совпадает с url сайта то все - ок!

Т.е. это единственный способ или может кроме самому себе мне еще кто что посоветует?

etc
12.10.2006, 15:50
Использовать _url и зашифровать тем же SWF Encrypt. Это надёжнее referrer.
Если захотят сломать, то можно вообще в обход Flash подменить данные в HTTP-заголовке, так что даже referrer тут не спасёт.

OverFLY
12.10.2006, 16:02
Твой вариант - SWF Encrypt неподходит слишком слаба защита, а вот подделать referrer для swf файла я не знаю как!! может кто просветит?

etc
12.10.2006, 16:12
OverFLY, а ты что, думаешь что-то кто-то пойдёт дальше и будет работать в HEX-редакторе?
Сомнительно, что кому-то вообще понадобится лезть в твою флешку.
Ты же не банковскими переводами занимаешься, а SWF Encrypt избавит от 99% любопытных.

OverFLY
12.10.2006, 16:27
Думаю если кто захочет будет работать...любопытных счас много...да и денежки на ввод, вывод в этом сайте крутяться...

etc
12.10.2006, 16:39
А собственно, что тут такого, что Flash будет запущен локально?

OverFLY
12.10.2006, 16:43
ну если флеш запущен локально то соответственно возможен запуск модифицированной верссии которая будет отправлять скрипту левые данные...а мне этого ненадо!!!

etc
12.10.2006, 16:45
Левые данные надо на сервере проверять. И если нужна защита, то вся защита должна быть на сервере. От Flash должен быть ожидаемый формат ответа.

Badim
12.10.2006, 16:46
ваша проблема происходит из за ошибки в архитектуре сервера. необходимо или модернизировать или изменять принципы работы сервера, чтобы не пытаться защить заведомо незащищаемый объект. вообщем надо исключить желание декомпильнуть клиент не его мега-защищоностью, а бесполезностью. =)

Badim
12.10.2006, 16:47
пока писал, меня опередили =))

OverFLY
12.10.2006, 18:40
Левые данные надо на сервере проверять. И если нужна защита, то вся защита должна быть на сервере. От Flash должен быть ожидаемый формат ответа.

Да это все конечно понятно что надо проверять, прсото есть такие узкие места которые убрать займет очень много времени..Да и вообще лишняя защита не помешает!!!! Лучшеб подсказали как еще организвать это!! Чем разводить демогогию - надо, не надо!

Badim
13.10.2006, 13:42
тебе же тебе написали - защиту надо при проектировании внедрять, в саму логику работы сервера. ты не там копаешь.