Как защитить определенные файлы от загрузки
Я использую IIS. У меня есть несколько файлов изображений на моем сервере. Я хочу отобразить их на своем веб-сайте, но когда кто-то находит URL-адрес и пытается получить к нему доступ с сервера из браузера, я хочу показать им доступ запрещен и не позволяет загружать файл.
Это возможно? Если да, то как мне это сделать?
Благодарю.
2 ответа
Я думаю, что вы на самом деле спрашиваете, как предотвратить хотлинкинг? Если это так, то для этого есть много ресурсов. Пример: как предотвратить появление изображений ("горячие" ссылки) в IIS 6.0
Допуская прямую загрузку на веб-странице, вы, по определению, загружаете ее. Ваш браузер делает совершенно отдельный запрос на сам файл изображения независимо от запроса на веб-страницу, в которую он загружается.
Вы можете разместить код для динамической отправки информации об изображении на страницу. Код может считывать файлы изображений из местоположения за пределами корневого каталога вашего документа и отправлять данные на страницу. Тогда не будет URL для изображения, и, следовательно, его нельзя будет загрузить из браузера.
Код будет считывать двоичные данные изображения из файла и затем выводить те же данные, устанавливая тип mime для любого формата вашего изображения (image/jpg, image/png и т. Д.). Это может быть сделано через CGI, ASP, JSP или любой другой тип шлюза приложений.
РЕДАКТИРОВАТЬ:
Однако предотвращение хотлинкинга - лучшее предложение, чем это.