- 1
var file: * = File.userDirectory.resolvePath(CACHE_PATH + hashURL(key));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−86
var file: * = File.userDirectory.resolvePath(CACHE_PATH + hashURL(key));
На первый взгляд просто немного странный код, но за ним стоит интересная история.
Человек написавший этот код после долгих расспросов и двузначных ответов таки сознался, что таким образом он надеялся избежать компиляции AIR классов в бразуерном проекте. Но интереснее еще и то, что человек продолжает в это свято верить и отстаивать свою точку зрения... а я уволился.
Если вы не в курсе, Адоби делают несколько версий плееров, одна "ветка" предназначена для запуска с десктопа и ей можно обращаться к файловой системе, в то время как обычному плееру в браузере такое делать нельзя, ну или только после всяческих подтверждений и т.п. Человек таким образом пытлася написать кеширование загруженных картинок на диск к пользователю. Но тут судьба сыграла злую шутку, он компилировал все эти классы в библиотеку, которую забывал обновлять, и по счастливому стечению обстоятельств, библиотечный класс не содержал никаких упоминаний файловой системы - и все работало замечательно.
Прогрнозируемый разрыв шаблона произойдет примерно недели через две-три, когда нужно будет обновлять версию. Ну, это конечно при условии, что кеширование каким-то образом будут тестировать, но, скорее всего не будут, и шутка может затянуться.
Lure Of Chaos 07.09.2012 13:28 # −2
eth0 07.09.2012 17:12 # +1
Иногда - лучший вариант.
roman-kashitsyn 07.09.2012 21:33 # +4
Отличное решение проблемы, не то что убогий жабий SecurityManager
wvxvw 07.09.2012 22:37 # +1
Lure Of Chaos 08.09.2012 04:40 # −1
wvxvw 08.09.2012 12:35 # 0
eth0 08.09.2012 12:39 # +1
wvxvw 08.09.2012 13:08 # +1
Еще такой момент OpenGLSE в некотором смысле без наличия определенных возможностей в драйвере видеокарточки, которые в свою очередь вообще могут зависеть от самой карточки можно рассматривать как небезопасные. Опасности там сугубо теоретические - типа воровства картинок загруженных из другого домейна... но тем не менее это опять же может быт быть причиной апдейта.
Ну и нужно не забывать, что там еще замешано куча проприетарного софта, про который мы ничего не знаем, типа тех же кодеков. Поди знай в чем именно проблема. Можно попробовать иногда выяснить в kb у Адобов, но естесственно никто и никогда прямо на это не ответит.
govnomonad 08.09.2012 14:46 # +5
wvxvw 08.09.2012 15:04 # +2
Вот если бы кто-то сделал хорошую альтернативу Адоби - тогда другое дело, но пока ни JavaFX (и, наверное, никогда), ни Сервилат, ни Соль не дотягивают. Вся надежда была на Соль, но как-то они пошли совсем по другому пути, не пытаясь создать платформу для маленьких встраиваемых приложений на основе библиотек уже имеющихся у пользователя, вместо этого каждое приложение сразу становится монструозных размеров... Вобщем, хз.
eth0 08.09.2012 18:01 # 0
Я уже лет шесть говорю, что флещ не нужен. Сейчас, когда призрак пятого хтмля бродит над горизонтом, флещекапец выглядит осмысленным. Мне, собсна, хватило того, что они перестали обновлять его под мобильные платформы.
wvxvw 08.09.2012 23:06 # +1
А по поводу ХТМЛ5 - я в последнее время, если кто-то из друзей просит чего-то с сайтом помочь, меняю DTD на <!DOCTYPE html> и честно им сообщаю, что теперь у них сайт на ХТМЛ5 - все очень довольны: пользуются передовыми технологиями.
А если серьезно, то ХТМЛ в принципе плохая технология для описания всего, кроме форматированого текста, да и с этим куча проблем. Но главная проблема в том, что это очень высокоуровневый фреймворк, который не позволяет более фундаментально что-то в нем поменять, или настроить. Ну, не предназначен он для написания програм даже отдаленно похожих на десктопные. А потребность такая есть.
Программирование на ЯваСкрипте мегаубогое, конечно, бывает и хуже, но даже Флеш - и то лучше.
То, что в вебе будет продолжать использоваться ХТМЛ+ЯваСкрипт+КСС, только отдаляет создание интересных / новаторских програм и отталкивает серьезных программистов.
По поводу выполнения произвольного кода - везде хватает. Я знал про пару таких уязвимостей связанных с Актив Скрипт (это Майкрософтовский рантайм) которые вызывались из браузерного ЯваСкрипта. Но, опять же, мы очень мало что знаем про такие ошибки. Я просто имел опыт сообщения багов связанных с безопасностью - они ни в баг трекер никогда не попадают, ни информации о том как, и пофиксили ли вообще нет. То, что мы не знаем о наличии багов такого характера не значит, что их нет. Предпосылки - есть, похожие ситуации - были, так почему бы не предположить, что они есть и тут?
Ну и не в последнюю очередь безопасность связана с возможностями. Пока ХТМЛ мало чего умеет - он более безопасен, но когда он будет уметь хотя бы то же самое, что Флеш - отнюдь не факт, что он будет таким же безопасным. Никаких специальных качеств располагающих к улучшенной безопасности в нем нет.
eth0 09.09.2012 10:20 # 0
Никогда не видел ActionScript, потому ничего сказать не могу. JS меня вполне устраивает, я даже встроил в своё приложение рантайм от мозиллы и доволен.
> это Майкрософтовский рантайм
Ну так это дырка под один браузер, а их штук пять основных только.
> когда он будет уметь
А зачем ему это уметь-то? Потоковое видео искаропки играть сможет. Рисовать на канве - тоже. Чего ещё не хватает? Для меня, инфернет-пользователя с многолетним стажем, всегда флещплеер ассоциировался именно с видевом на ютубе. Ибо никакого другого способа просто вот так взять и воспроизвести файл (встраиваемый MS WMP в расчёт не берём) не было. Ну и плюс бгомерзкие еретичные баннеры, да.
> располагающих к улучшенной безопасности
А вот тут как раз всё будет зависеть от пяти вендоров, а не одного. Не может быть такого, чтобы можно было использовать одну и ту же уязвимость и под ослом на виндомашине, и под огнелисом на линуксовой.
Единственный минус, который я вижу - приложения будет гораздо проще реверсить.
wvxvw 09.09.2012 11:23 # 0
Точно такие же дырки были и практически 100% будут во всех браузерах, в той же Мозилле есть XPCOM - аналог АктивХ, который практически наверняка можно так же эксплуатировать. Просто большинство эксполоитов направлены на организации, а не отдельных пользователей, поэтому МСИЕ им интереснее, но если Мозиллу станут использовать так же часто, то и там найдется. Прециденты с кривой реализацией SSL у Мозиллы были, так что чего уж там.
Уметь делать то, что сегодня умеет Флеш нужно для того, чтобы технология вцелом развивалась. Пока что, проекты которые переходят с Флеш на ХТМЛ теряют возможности, их поддержка становится затратнее, а общее качество - хуже. Например, плеер Ю-туба бажный, тормозной и не умеет кучи всего, что умеет Флешевый плеер (даже перемотка у него не получается), а более серьезные системы - так там вообще караул. Люди уходят от Флеша не потому что технология плохая, а потому что вендор - мудак, и на него страшно полагаться.
Что касается полезности Флеша - есть очень много мест где вы даже не знаете, что пользуетесь Флешем. Например:
- аттач файлов в Г-маиле.
- загрузка и упаковка большой части ЯваСкрипта Фейсбука. Загрузка картинок / снимки с вебкамеры в Фейсбуке.
- онлайн обучение - это практически исключительно Флеш, и ХТМЛ так просто не сможет.
- естесственно, куча игрушек.
eth0 09.09.2012 11:56 # 0
Ах, да, совсем забыл - удивительная лошадь. Только что теперь каналы стали жирнее и флещмульты проще посмотреть на том же ютубе.
P.S. А так - ничего, нормальная нишевая технология, не серебряная пуля и ладно.
wvxvw 09.09.2012 12:17 # 0
Более того, когда у ХТМЛ будет нормально поддерживаться локал сторидж - вы получите точно такую же историю с ним, при чем хуже, т.как в отлицчие от LSO там его еще и шифровать будут скорее всего, чтобы пользователь вообще не догадался чего о нем записывают. Тут EULA надо вдумчиво читать, а не желтую прессу.
То, что вы лично не пользуетесь ФБ / Г-мейлом ни на что не влияет, пока ими пользуется пару сотен тысячь других пользователей. Есть еще такие люди амиши - живут где-то в американской тундре охотой и земледелием и не признают никакие современные технологии. Но пока таких 0.00000001% - никого это не интересует.
eth0 09.09.2012 14:36 # +1
Я не сторонник ретроградства и луддитов, просто гуглопочта для меня ничем не выделяется в ряду таких же почт, которых десятки. Не пользуюсь только по той причине, по которой не использую сервисы от гугола вообще. Мордокнига мне неинтересна по другой причине - мне нечего о себе писать в сосальные сети, у меня нет там ни друзей, ни знакомых, а всех прочих людишек я ненавижу лютой ненавистью.
Это не умаляет ни значимости их сервисов для человечества, ни проделанной работы, ни то, что флещи совсем бесполезны. Только вот помри оно завтра - мир не остановится, придумают что-то ещё.
wvxvw 09.09.2012 20:35 # 0
И проблема со слежкой решается :)
Кроме того, я же говорю, что проблема не конкретно во Флеше, а в ЕУЛА. И браузеры о вас точно так же собирают инфу. Вот, недавно вообще в шоке был: купил лапоть, новенький совсем, поставил Федору, и полез что-то искать в Гугле, и не в чем-нибудь, а в Огненой лисе, появляются результаты поиска, и вдруг ссылка (которую я действительно раньше посещал) подсвечена как посещенная - это при первом запуске девственно чистой системы, первый раз открытый браузер, и IP динамический. В итоге до меня дошло, что это связано со stackoverflow, где я зарегистрирован используя гугловские координаты - но все равно страшно.
Это не проблема безопасности, то, что делают банерообменники абсолютно законно, не использует никакие баги, или непредвиденные возможности системы. Вы на это сами согласились по пользовательскому соглашению, более того, вам дали возможность фильтровать / запретить всем / поменять размер квоты, и все через графический интерфейс, CLI интерфейс - да как хотите. Не достаточно предупредили - да, возможно, но вы же не подадите в суд на рекламу за то, что там под звездочкой мелким шрифтом было написано что-то что вы не прочитали. Это даже не мошенничество. Не приятно - да, но ничего противозаконного.
eth0 09.09.2012 21:51 # 0
> браузеры о вас точно так же собирают инфу
Если в браузере не стоит *-бар, то никакую стороннюю инфу они явно передавать не должны без ухищрений. А так - у меня отрублен флеш файерволом всем, кому не надо; аналогично скрипты, аналогично куки-рефереры.
Я реально за последние несколько лет не видел рекламы. Точно настроенный файервол, браузер и дополнения к нему. Хуже было только с lm, там реклама по псевдопротоколу data://, но и её вырезал или через гризманки, или ещё через что. Время от времени меня пробивает на паранойю и я пытаюсь проверить, не шпионит ли кто за мной. Пока ничего такого не находил.
wvxvw 09.09.2012 23:12 # 0
Но более того, если бы ваша информация была действительно чрезвычайно интересна кому-то, у кого есть возможность ее получить, то получили бы... Был процесс много лет назад над AT&T, где бывший сотрудник поведал о всяких некрасивостях и посягательстве на часную жизнь. Процесс благополучно провели за закрытыми дверями, никого не наказали, только выдали ваучер AT&T на неприкосновенность.
Просто мы в странах третьего мира - да кому мы нужны? Если бы мы еще хоть на оборнку работали или что-то такое... а так... разве что чисто случайно.
eth0 10.09.2012 06:28 # 0
vistefan 11.09.2012 07:31 # 0
> даже не знаете, что пользуетесь Флешем
? O_o
wvxvw 11.09.2012 10:17 # +1
wvxvw 09.09.2012 11:28 # 0