#php #asp.net #server #download #plesk
Вопрос:
У меня есть файлы, хранящиеся на сервере с панелью Plesk, в настоящее время любой человек, имеющий ссылку на мой сайт, может получить доступ к файлу и загрузить его.
Есть ли какой-либо способ предотвратить загрузку для всех пользователей?
Комментарии:
1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.
Ответ №1:
Общий подход заключается в создании папки, которая не находится в корневой папке веб-сайта. Другими словами, в результате вы не разрешаете и не имеете допустимых URL-адресов для папки. Это означает, что вам нужно создать веб-страницу определенного типа, на которой можно указать список некоторых файлов и кнопку, по которой можно нажать, чтобы загрузить такие файлы.
Другими словами, допустимых URL-адресов не существует. Это наводит на мысль, что у вас есть какой-то тип сетки или отображения файлов. часто для управления таким дисплеем используется даже таблица базы данных.
Когда пользователь нажимает, скажем, кнопку в этой строке сетки, код, стоящий за ней, может извлечь файл и «передать» его пользователю. Таким образом, конечным результатом является отсутствие допустимого URL-адреса или разрешимого пути к файлам.
Кроме того, в IIS отключите просмотр каталогов. и, таким образом, снова не существует допустимых URL-адресов для файлов.
Другой подход? Вы можете создать пользовательский обработчик http. Такой подход довольно распространен. Таким образом, любой URL-адрес, заканчивающийся на .pdf, будет заблокирован и, следовательно, запрещен. Как уже отмечалось, это снова означает, что вы должны предоставить «список» файлов и кнопку для загрузки — и снова вы можете транслировать файл с сервера.
Таким образом, существует довольно много способов, но, в конечном счете, я, как правило, не разрешаю загружать файлы или даже получать доступ к ним по URL-адресам. Я всегда предоставляю какую-то веб-страницу и список вариантов для пользователя. Код, лежащий в основе, — это то, что на самом деле извлекает файл, а затем передает его в браузер.
Таким образом, вы можете найти способ создания пользовательского обработчика http для PDF-файлов в asp.net
Найдите способ передачи файла пользователям в asp.net
как отключить просмотр каталогов в IIS.
Здесь есть множество вариантов — на самом деле слишком много, чтобы действительно публиковать и объяснять в ответе на переполнение стека.
Комментарии:
1. Конечно, я все это сделаю. Кстати, большое спасибо.
2. Вам нужно выбрать только одно из вышеперечисленных, но да, вы также можете выполнить все из них. Это часто зависит от сервера, на котором вы размещаете сайт. Я имею в виду, что если у вас есть свой собственный сервер, то легко использовать папку за пределами root. Если вы используете более дешевый хостинг, то часто у вас нет и не может быть местоположения за пределами папок веб-сайта. Поэтому то, какой вариант вы используете, часто может зависеть от того, какая у вас настройка хостинга. Но если вы не предоставляете веб-ссылки, то частое отключение просмотра каталогов исправит это. А для потоковой передачи файла — около 10 строк кода. Так что у вас есть несколько вариантов.