Назад | Перейти на главную страницу

Как запретить пользователям прямой доступ к файлам на веб-сайте в IIS 7

У меня есть веб-сайт, на котором пользователи загружают файлы через CMS.

например http://www.mysite.com/uploadedfiles/file1.txt

Я хочу, чтобы пользователи в Интернете не могли вводить этот URL-адрес в браузере и напрямую обращаться к этим файлам. Как я могу это сделать?

Однако мне все еще нужно разрешить IIS читать, изменять и удалять эти файлы через CMS.

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

Как насчет настройки сайта на прием подключений только с ip-адреса CMS?

Войдите в «фильтрацию запросов» и запретите конкретный URL (на вкладке «URL»).

Чтобы сделать это безопасным, вам придется реализовать это в своем приложении по-другому.

Сохраните загруженные файлы в папке, недоступной через веб-запрос, например, во внешней папке. D:\WebData\MyApp\Uploads. Убедитесь, что учетная запись сетевой службы имеет доступ для «изменения» в этом каталоге (для вашего приложения CMS).

Затем реализуйте Обработчик HTTP в ASP.NET который проверяет сеанс пользователя CMS и позволяет им загружать / изменять / получать доступ только к своим собственным файлам.

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