В чем заключается опасность получения файлов раз в Silverlight? - PullRequest
1 голос
/ 12 июля 2010

Перед загрузкой файла мне нужно добавить имя к некоторой дополнительной информации, чтобы увеличить вероятность уникальности имени файла (без сохранения состояния). При вызове FileInfo.LastWriteTime-get выдается SecurityException о том, что процессу нужны повышенные привилегии.

В какой-то степени я вижу, что в таких данных есть определенная историческая информация о пользователе, но я также думаю о том, насколько легко манипулировать в любом случае, но почему? Есть ли другой способ получения подобной информации, не требующий административных OOB?

Ответы [ 2 ]

1 голос
/ 13 июля 2010

Если есть способ получить эту информацию без повышенных привилегий, то это будет уязвимость в Silverlight. Обычно эти платформы RIA ограничивают эту деятельность, Flex имеет аналогичные ограничения.

Если вам просто нужно уникальное имя файла, вы можете использовать отметку времени + имя файла. или md5(timestamp+random_value)+filename.

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

Нет. Зачем? Потому что подход к безопасности в Silverlight состоит в том, чтобы поверхность атаки была как можно меньше. Все, что действительно дается при получении FileInfo, - это содержимое файла. Почему приложение должно быть привязано к имени, которое содержалось в содержимом файловой системы пользователя.

Если вам нужно сделать имя уникальным, просто используйте Guid: -

 string fileTitle += Guid.NewGuid().ToString("D");
...