ASP.NET Пользовательские Ошибки по сравнению с Компиляцией отлаживает = “ложь” и безопасность

Я продолжаю читать, что основанному на ASP.NET веб-сайту нужно включить пользовательские ошибки в web.config, потому что исключения покажут отслеживание стека.

У меня может быть дефектная память (в настоящее время не имеют доступа к разрабатываемому веб-сайту ASP.NET), но я думал пока отладка Компиляции = "ложь" в web.config файле, затем отслеживание стека не будет отображено.

Мое понимание корректно о флаге отладки и дисплее отслеживания стека? Если так, затем даже если пользовательские ошибки не включены, то не будет единственное сообщение, отображенное удаленным пользователям для исключения быть неописательным сообщением:

"Страница не может быть отображена, потому что внутренняя ошибка сервера произошла".

Раз так затем разве не было бы нормально, с точки зрения безопасности, не отображать пользовательскую ошибочную страницу для исключения?

1
задан Chase Florell 6 July 2010 в 23:51
поделиться

2 ответа

Нет, трассировка стека все равно будет отображаться, даже если флаг отладки отключен, но в ней не будет номеров строк для каждого вызова в стеке.

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

Отображение трассировки стека само по себе не представляет угрозы безопасности, но оно раскрывает некоторую информацию, которая потенциально может облегчить взлом сайта. Хакер может, например, получить представление о том, что сделано для дезинфекции входных данных, и найти способ обойти это.

2
ответ дан 2 September 2019 в 23:14
поделиться

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

Отключение DEBUGGING в вашем web.Config очень важно и не ограничивается только тем, что не показывает номера строк и трассировку стека... это также указывает компилятору собирать в режиме выпуска, что значительно оптимизирует производительность. Как только ваше приложение переходит в продакшн, вся отладка должна быть отключена.

0
ответ дан 2 September 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: