Безопасная папка asp.net mvc, содержащая случайное расширение файла - PullRequest
0 голосов
/ 13 декабря 2018

Я работаю над приложением Asp.net MVC.Приложение содержит папку, которую необходимо защитить от несанкционированного доступа.Клиент может скопировать файл с любым расширением в эту папку.Клиент не хочет, чтобы постороннее лицо (лицо без входа в систему) загружало файл, напрямую обращаясь к файлу в URL браузера.

Я не могу использовать httpHandler, так как расширение файла нам неизвестно заранее.Я также пытался сохранить отдельный web.config с <deny users="?"/> в разделе авторизации.Но это работает только для известного расширения, для неизвестного расширения оно выдает следующую ошибку:

The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

Может кто-нибудь подсказать, как справиться с этой ситуацией?

Спасибо.

1 Ответ

0 голосов
/ 13 декабря 2018

Вместо того, чтобы хранить физические файлы на сервере в защищенной папке, вы можете хранить их в виде двоичных массивов в базе данных.А затем используйте общий обработчик для извлечения файлов.

Например: https://example.com/SecuredFolder/Readfile?id=12345

Затем вы можете установить Content-Type в ответе программно.

...