Шифрование URL виртуальной папки IIS - PullRequest
4 голосов
/ 25 февраля 2010

У нас есть веб-приложение ac # asp.net, которое, помимо прочего, позволяет пользователям загружать ранее загруженные файлы, такие как PDF, документы Word и т. Д. Приложение asp.net обслуживается через сервер IIS6, а файловые ресурсы работают в режиме реального времени. на другом сервере.

Когда пользователь запрашивает файл (т.е. нажимает кнопку в веб-форме), мы передаем файл обратно в его браузер, соответствующим образом изменяя ContentType.

Казалось, это хороший способ избежать перехода по виртуальной папке IIS для обслуживания файловых ресурсов, о чем мы беспокоились из-за потенциальной возможности взлома URL пользователями. то есть с таким URL-адресом, как https://mydomain/myresource/clientid/myreport.docx, опытный пользователь мог бы с легкостью угадать альтернативные имена cvlientid и документа.

Проблема с потоковой передачей документа Word в браузер заключается в том, что когда браузер выбрасывает его в Word, Word обрабатывает его как совершенно новый документ, что означает, что свойства исходного документа и информация о полях теряются.

Наши пользователи хранят информацию метаданных в свойствах документа Word, поэтому это решение для них неприемлемо.

Обслуживание через виртуальные папки IIS решает эту проблему, но создает проблему безопасности URL.

Так что мои вопросы ...

Кто-нибудь знает, как мы можем использовать шифрование / дешифрование (или обфускацию) URL-адресов с виртуальными папками IIS?
Или кто-нибудь знает какие-либо проекты с открытым исходным кодом, которые выполняют аналогичную работу.
Или у кого-нибудь есть предложения о том, как написать собственную реализацию виртуальных папок, но с зашифрованными URL-адресами?

Большое спасибо заранее.

пс. наше веб-приложение доставляется по https

Ответы [ 2 ]

0 голосов
/ 20 апреля 2010

Вы можете обнаружить, что класс ClaimsAuthorizationManager в "Windows Identity Foundation" делает то, что вам нужно. Вы можете реализовать любую логику, какую захотите, чтобы определить, кто может что скачать, без использования «безопасности каталога».

0 голосов
/ 25 февраля 2010

Извините, ребята, в моем вопросе я сделал несколько неверных предположений.

Я пытаюсь сохранить свойства, хранящиеся в текстовом документе, при их доставке с сервера (с использованием Response.TransmitFile или через виртуальную папку) в браузер клиента.

Я настроил тестовый сценарий с виртуальной папкой IIS и удалил файл docx (который, как мне известно, содержит информацию в свойствах title и subject) в физическом пути моей виртуальной папки.

Я указал браузеру на псевдоним виртуальной папки, и браузер выдал сообщение, чтобы открыть или сохранить документ.

Если я решу сохранить его, сохраненный документ все равно сохранит свои свойства.

Если я решу открыть его сначала, а затем сохранить его из Word, сохраненный документ потеряет свойства.

Так что я думаю, что мне нужно опубликовать другой вопрос!

...