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