Поделиться через


Классические сообщения об ошибках скрипта ASP больше не отображаются в веб-браузере по умолчанию

Роберт Мак-Мюррей

В более ранних версиях IIS сообщения об ошибках из классических скриптов ASP по умолчанию отправлялись в веб-браузер. Так как эти сообщения об ошибках могут раскрывать конфиденциальную информацию злоумышленникам, службы IIS 7 и более поздних версий по умолчанию отключают эту функцию. Если классические скрипты ASP сталкиваются с ошибкой в IIS, по умолчанию появляется следующее сообщение об ошибке:

An error occurred on the server when processing the URL. Please contact the system administrator.

If you are the system administrator please click here to find out more about this error.

Вы можете настроить сообщение об ошибке скрипта ASP, а также определить, следует ли возвращать ошибки сценария в веб-браузер.

Примечание

Для обеспечения безопасности рекомендуется разрешить только отправку сообщений об ошибках скрипта ASP в веб-браузер на компьютере разработки или тестирования. Возврат сообщений об ошибках скрипта в веб-браузер может непреднамеренно предоставить больше информации, чем вы намеревались показать.

Работа с пользовательскими контроль доступа

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

  • Войдите на компьютер с помощью учетной записи локального администратора.
  • Если вы вошли с помощью учетной записи с правами администратора, но не учетной записи локального администратора, откройте все приложения и все сеансы командной строки с помощью параметра "Запуск от имени администратора".

Эти условия являются обязательными, так как компонент безопасности контроля учетных записей (UAC) в Windows Vista и Windows Server 2008 будет препятствовать административному доступу к параметрам конфигурации IIS. Дополнительные сведения об UAC см. в следующей документации:

Настройка классических сообщений об ошибках ASP

Параметры конфигурации, используемые для настройки этих параметров, находятся в следующем списке:

  • scriptErrorMessage. Это необязательный строковый атрибут, указывающий сообщение об ошибке, которое будет отправлено в браузер, если определенные ошибки отладки не отправляются клиенту.
  • scriptErrorSentToBrowser. Это необязательный логический атрибут, указывающий, включена ли запись отладочной функции для клиентского браузера.

Эти параметры можно настроить с помощью диспетчера IIS. Для этого откройте диспетчер IIS и перейдите к сайту или приложению, где требуется включить или отключить сообщения скриптов, а затем дважды щелкните компонент ASP .

Снимок экрана: домашняя страница веб-сайта диспетчера I S Manager по умолчанию. Выделен значок SP.

В списке функций ASP настройте параметры Сообщение об ошибке скрипта и Отправить ошибки в браузер .

Снимок экрана: страница функций A S P. Выделен параметр Отправить ошибки в браузер.

Эти параметры также можно настроить с помощью программы командной строки AppCmd.exe со следующим синтаксисом:

appcmd.exe set config "Default Web Site" -section:system.webServer/asp /scriptErrorMessage:"An error occurred."
appcmd.exe set config "Default Web Site" -section:system.webServer/asp /scriptErrorSentToBrowser:"False"

Дополнительные сведения

Дополнительные сведения о параметрах, доступных для классической отладки ASP, см. на следующей странице справочника по конфигурации IIS на веб-сайте Microsoft IIS.net :

https://www.iis.net/ConfigReference/system.webServer/asp

В качестве альтернативы возвращению сообщений об ошибках скрипта ASP в веб-браузер можно включить трассировку неудачных запросов на сервере. Например, можно добавить правило для автоматической трассировки ошибок HTTP 500, которое обработчик ASP создает при возникновении ошибки. Анализируя выходные данные в журналах трассировки неудачных запросов на сервере, можно определить источник классических ошибок ASP. В качестве дополнительного примечания безопасности журналы трассировки неудачных запросов недоступны веб-браузерам, поэтому сведения об устранении неполадок доступны только на сервере. Если вы используете трассировку неудачных запросов, вы также сможете подробно устранять неотслеживаемые классические ошибки ASP без необходимости их воспроизведения.