Опасные FlashVars

Декабрь 5, 2007 at 12:02 пп 3 комментариев(я)

Flashvars долго казались мне самой безобидной субстанцией.
Однако и у них есть пара опасных моментов.

  • Не забываем, что все данные, переданные через flashvars – это String.
    То есть если нужно передать число или булеву переменную – будьте добры, используйте приведение типов. И лучше руками, не полагаясь на автомат.
  • Недавно обнаруженная грабля.
    Допустим у нас есть флешка, на основном таймлайне которой мы импортируем пакет flash.filters.* . Или не импортируем на таймлайн, но создаем переменную некоего класса SomeClass, в коде которого мы как раз и производим этот импорт.
    Так вот ежели мы передадим flashvar flash=kill_my_package, то мы наглухо убъем доступ к пакету flash. Точно так же можно убить пакеты mx, ru, com и все необходимое )). Однако если мы будем импортировать пакеты на временной линейке любого другого мувиКлипа, лежащего на основной линейке, то все будет работать.

А вывод прост: следим за именами переменных, откуда бы они не приходили. Потому как и во вложенном клипе можно убить доступ к пакету, просто объявив в нем переменную

var flash:Boolean = false;

_________
Блог переехал.
Комментарии оставлять здесь.

Entry filed under: ActionScript, AS2.0, Грабли. Tags: .

Ад. О мир. Papervision3D 2.0 alpha

Комментарии (3)

  • 1. concretica  |  Декабрь 5, 2007 в 3:28 пп

    Ок.

  • 2. ﺔstﺔlﺔvistﺔ  |  Декабрь 8, 2007 в 4:36 пп

    Сейчас придет, сами знаете кто, и скажет что нужно всегда юзать _global ;)

    import flash.geom.*;

    var flash = “flash.PackageKiller”;
    var pt:Point = new _global.flash.geom.Point(100,0);

  • 3. murejib  |  Декабрь 8, 2007 в 6:47 пп

    Сами знаете кто может использовать глобал где угодно)
    Я же иду по пути самурая и сознательного отказа от глобалов и рутов, ибо истинный флеш самурай должен помнить 1000 и один флеш капкан и еще столько же багов и умело обходить оные.


Свежие записи

Top Posts

  • Нет

Календарь

Декабрь 2007
Пн Вт Ср Чт Пт Сб Вс
    Янв »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

RSS

Дружественные линки

Blog Stats

  • 3,985 hits

Follow

Get every new post delivered to your Inbox.