Как остановить каталог веб-сайта вне доступа к файлам из Интернета в iis7 - PullRequest
2 голосов
/ 30 июня 2011

У меня Windows Server 2008. Я добавляю несколько веб-сайтов с использованием IIS7. Но вся сеть может получить доступ к внешнему файлу. например:

@{ DirectoryInfo di=new DirectoryInfo("c:\\");}
@foreach (var item in di.GetFiles())
{
    <div>@item.FullName</div>
}

Этот код успешно перечисляет файлы. Мне нужно настроить, не может получить доступ за пределами каталога веб-сайта Использовать только внутри файлов и папок

Как это сделать?

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

код, который вы показываете, не означает, что внешние пользователи могут получить доступ к файлам на вашем сервере, все, что он показывает, - это то, что программа RUNNING на вашем сервере может обращаться к файлам на сервере, что имеет смысл.

ЕслиВы хотите запретить программе доступ к этим файлам, а затем добавить к ним разрешения безопасности для пользователя, который не является пользователем, запускающим программу, которую вы хотите запретить доступ к ним.

Если вы хотите защитить каталогпосмотрите на использование .htaccess (очень простой безопасности) или примите во внимание решение Алекса

0 голосов
/ 30 июня 2011

Вы можете создать нового пользователя с ограниченными разрешениями и настроить запуск пула приложений под этим пользователем.

Чтобы изменить идентификатор AppPool (т. Е. Указать, какие учетные данные запускает пул приложений)

  1. Открыть IIS
  2. Выбрать пулы приложений в дереве подключений
  3. Выбрать пул приложений
  4. Щелкните правой кнопкой мыши и выберите Дополнительные параметры.
  5. Найти модель процесса / личность.По умолчанию может отображаться ApplicationPoolIdentity
  6. Щелкните значение (например, ApplicationPoolIdentity)
  7. Щелкните многоточие, которое отображается справа
  8. Выберите встроенную учетную запись или щелкните пользовательскую учетную запись
  9. Если выбрана пользовательская учетная запись, нажмите «Установить» и укажите учетную запись Windows и пароль
  10. Нажмите «ОК», чтобы закрыть диалоговое окно «Установить учетные данные»
  11. Нажмите «ОК», чтобы закрыть диалоговое окно «Идентификация пула приложений»
  12. Нажмите кнопку ОК, чтобы закрыть диалоговое окно «Дополнительные параметры».
  13. Перезапустите пул приложений.

Вы также можете установить идентичность в файле web.config:

<system.web>
  <identity impersonate="true"
            userName="UserName"
            password="Password"/>
</system.web>
...