Странные URL-адреса запросов в зарегистрированных исключениях ASP.NET, но не в журналах IIS - PullRequest
2 голосов
/ 14 октября 2010

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

Шум вводится там, где находятся экранированные символы. Шум, такой как имя приложения, «Произошло необработанное исключение», False, а иногда рекурсивно вводится URL-адрес запроса, иногда дюжина раз внутри URL-адреса. Журналы IIS не показывают эту инъекцию, только оригинальный URL.

Вот один из рекурсивных примеров:

URL запроса: http://domain.com/Page.aspx?q=bransonAn произошло необработанное исключение. C http://domain.com/Page.aspx?q=bransonAn произошло необработанное исключение. C http://domain.com/Page.aspx?q=bransonAn произошло необработанное исключение. C http://domain.com/Page.aspx?q=branson%2C%20momomomo

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

1 Ответ

2 голосов
/ 28 октября 2011

Я столкнулся с той же проблемой, как описано выше, и через несколько дней в Google придумали, что ее вызвало (в любом случае, хорошо), и подумали, что я поделюсь ею - Хотя эта дискуссия длилась больше годаold.

Это было вызвано тем, что в строку запроса были включены пробелы, которые были изменены на % 20 .Когда в коде возникает исключение, создается впечатление, что IIS (или Сервер разработки в Visual Studio 2008), возможно, предполагал, что % 20 был параметром, который должен быть передан в обработчик исключения, исоздание сумасшедшего URL запроса - он всегда содержался 82 раза в журнале, и нигде, где я искал, не упоминалось об этом.

В файле web.config кодирование можно управлять с помощью глобализация , но это не решило нашу проблему - оказывается, что если вы используете RFC2396, то вы не получите эту проблему.Теперь мы заменяем наши пробелы на неразрывный пробел , и это пока работает в нашем тестировании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...