Na początek odsyłam do źródła: User Friendly ASP.NET Exception Handling. Koncepcja przechwytywania nieobsłużonych wyjątków i "robienia coś z nimi" nie jest może zła, ale:
- podawanie użytkownikowi dokładnych informacji na temat błędu jest ZŁE!
- ...a moduł wprowadza nową podatność...
Nie będę się rozpisywał, dlaczego podawanie tak szczegółowych informacji użytkownikom jest złe. Jeśli kogoś to interesuje: Error Handling, Auditing and Logging.
Ciekawe jest jednak to, co dzieje się w funkcji ExceptionToPage modułu ASPUnhandledException, która odpowiada za wyświetlenie użytkownikowi przyjaznego komunikatu błędu. W zasadzie ciekawsze jest to, co się tam nie dzieje. Brak jest mianowicie jakiegokolwiek encodingu, czyli automatycznie wraz z zainstalowaniem tego modułu i skonfigurowaniem go do obsługi wyjątków, pojawia się podatność na cross-site scripting.