Oto scenariusz ...W programie ELMAH z MVC 3, Jak mogę ukryć dane wrażliwe formularza z dziennika błędów?
Typ użytkownika jego nazwa użytkownika. Typuje "nieprawidłowe" hasło. Obie wartości nazwy użytkownika i hasła są przesyłane do dziennika błędów Elmah poprzez Exception.Context.Request.Form["Password"]
. Jest to wartość tylko do odczytu i nie można jej modyfikować.
I nie ... Nie chcę odrzucać wyjątku (niepowodzenie). Dodaliśmy ErrorLog Filtering programowo:
void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Exception is LogOnException)
{
((HttpContext) e.Context).Request.Form.Remove("Password");
// This is what we want to do, but we can't because it is read-only
}
}
Ale nie może zmodyfikować Request.Form tak, że hasło jest ukryte przed naszym dzienniku błędów.
Ktoś zetknął się z tym sposobem?
Zasadniczo chcę wszystkich danych błędu bez pola hasła. Rozważaliśmy ręczne logowanie, ale wydawało się, że jest to dużo pracy w porównaniu do ukrywania wrażliwych danych.
Pozdrawiamy facetów. Z góry dziękuję.
http://kurtschindler.net/blog/post/Configuring-ELMAH-on-DiscountASPNET –
http://myitforum.com/cs2/blogs/ maikkoster/archive/2010/07/12/elmah-a-great-of-rozwiązywanie problemów-web-applications.aspx –
@ 0A0D ??? Dzięki stary. Działa to dobrze ... ale nie wiem, jak ukryć niektóre wartości, które zostaną opublikowane. Czy uruchomiłeś TGIF nieco za wcześnie? ;-) – willis