- Как легко действительность может разрушить красивые планы.
- Был (уже нету) у меня план, использовать плагин Silverlight в качестве эдакой библиотеки доступа к ресурсам, закрытым для яваскрипта. Речь о веб-приложении. К примеру, получить от пользователя полное имя выбранного им на своем диске файла. Или побайтово считать этот файл в буфер. План накрылся
вырезано цензуройпо причине того, что в действительности разработчики сильверлайта тщательно продумали вопросы безопасности. -
- Запрещено в Silverlight открывать диалоговые окна, в частности окно выбора файла, по желанию программиста. Словите загадочное сообщение «Dialogs must be user-initiated». Окна можно открывать только по желанию пользователя. Это желание выражается только (и никак иначе) как наличие кода открытия окна в первой строке обработчика события «пользователь щелкнул
клювомпо кнопке». Вот такая особенность сильвера by design. -
- Врубаетесь? То есть, если я нарисую в апплете кнопку, допустим «Refresh» и привяжу к событию клика «небезопасный» код, вроде доступа к файлсистеме через открытие окна выбора файла — это, по замыслу мегадизайнеров сильвера, безопасно. То есть, пользователь сам дурак, что на кнопку нажал. А если эти же действия я запущу программно, по событию в яваскрпте страницы, то это уже опасно. То есть это уже гнида «хакер» лезет в комп и мудаки дизайнеры сильвера облажались. Вот такая типа логика.
-
- Хуже того, в обработчике события надо еще успеть открыть окно, ибо если пройдет времени больше, чем хренегознает (в статье не указано в граммах), то механизм безопасности не даст открыть окно. Типа, вы там подозрительной херней занимаетесь а не программную логику отрабатываете.
-
- А в сухом остатке такое: чтобы обойти ограничения безопасности (получить доступ к ресурсам компа пользователя) надо всю программу упаковать внутрь апплета. Вот такая забота о нашей безопасности. Даже сдохнуть не дадут так как хочется, опекуны любезные. Удавил бы.
-
- Надо почитать, как оно щаз в Java-апплетах реализовано, может попроще будет.
-
- Не хочу я всю логику засовывать в апплет. Глупо это.
-
- msdn.microsoft.com/en-us/library
- silverlightshow.net/items/Using-the-SaveFileDialog-in-Silverlight-3
-
Комментариев нет:
Отправить комментарий