Как запретить доступ к файлам .dll на веб-сайте (как в IIS 6, так и в 7)

StackOverflow https://stackoverflow.com/questions/416420

  •  03-07-2019
  •  | 
  •  

Вопрос

Если я использую URL-адрес типа http://мойсайт/моя папка/myfile.dll, я получаю диалоговое окно «Хотите открыть или сохранить этот файл».Конечно, я не хочу, чтобы люди могли скачивать и дизассемблировать наши dll.Как я могу запретить людям прямой доступ к таким файлам?

Это было полезно?

Решение

Отрицание всех dll является радикальным на сайте asp.net, поскольку Silverlight и т. д. используют клиентские dll, которые должны быть доступны для загрузки клиентским браузером.

Можно использовать консоль управления IIS или API-интерфейсы управления, чтобы отключить проверку подлинности для файла или каталога библиотеки DLL.

Просто снимите все опции аутентификации, и в доступе будет отказано.

Другие советы

Обычно это запрещено по умолчанию. Если вы зайдете в диспетчер IIS и отредактируете веб-сайт, вам необходимо снять флажок «Доступ к сценарию». DLL также должна быть в списке запрещенных расширений файлов.

Короткий ответ: в корне сети не должно быть файлов, которые вы не хотите обслуживать.

Я лично не знаю IIS 6 или 7, но в Apache каталог обозначается как корень сети, например, \ site \ htdocs, и ничто над ним не доступно снаружи. Если вы храните свои файлы DLL вне этой иерархии, они становятся недоступными.

Установите соответствующие права доступа и безопасность файлов Windows.

Например.когда вы используете asp.net, вам следует запретить доступ к .dll всем пользователям, кроме учетной записи ASPNET.

!Учетная запись IUSR_xxx не должна иметь прав на вашу .dll!

Если по каким-либо причинам сопоставления сценариев в IIS не могут быть изменены, можно использовать HttpForbiddenHandler р>

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top