У меня есть веб-сайт, на котором пользователи загружают файлы через CMS.
например http://www.mysite.com/uploadedfiles/file1.txt
Я хочу, чтобы пользователи в Интернете не могли вводить этот URL-адрес в браузере и напрямую обращаться к этим файлам. Как я могу это сделать?
Однако мне все еще нужно разрешить IIS читать, изменять и удалять эти файлы через CMS.
Я бы рекомендовал либо сохранить файлы в каталог, не доступный через Интернет, либо создать случайное имя перед сохранением на диск.
Как насчет настройки сайта на прием подключений только с ip-адреса CMS?
Войдите в «фильтрацию запросов» и запретите конкретный URL (на вкладке «URL»).
Чтобы сделать это безопасным, вам придется реализовать это в своем приложении по-другому.
Сохраните загруженные файлы в папке, недоступной через веб-запрос, например, во внешней папке. D:\WebData\MyApp\Uploads
. Убедитесь, что учетная запись сетевой службы имеет доступ для «изменения» в этом каталоге (для вашего приложения CMS).
Затем реализуйте Обработчик HTTP в ASP.NET который проверяет сеанс пользователя CMS и позволяет им загружать / изменять / получать доступ только к своим собственным файлам.
перейдите к Правилам авторизации, затем добавьте правило запрета для всех пользователей в нужной папке.