【发布时间】:2011-10-01 11:39:52
【问题描述】:
这里是场景...
用户键入他的用户名。键入“不正确”的密码。
用户名和密码值都被传递到 Elmah 错误日志
通过Exception.Context.Request.Form["Password"]。
这是一个只读值,不能修改。
不...我不想忽略异常(失败)。我们以编程方式添加了 ErrorLog 过滤:
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
}
}
但无法修改 Request.Form 以使密码从我们的错误日志中隐藏。
有人遇到过解决方法吗?
我基本上想要所有没有密码字段的错误数据。我们考虑过手动记录它,但与简单地隐藏敏感数据相比,这似乎是很多工作。
干杯,伙计们。提前致谢。
【问题讨论】:
-
@0A0D ???谢谢哥们。它工作得很好......但我不知道如何隐藏一些发布的值。你开始 TGIF 是不是有点太早了? ;-)
-
@0AOD 哦...我明白你的意思。我已经在这样做了。但我想保护他们免受管理员和开发人员的影响。我知道...我非常小心...但现在你永远不知道。
-
@0A0D - 我认为 OP 并没有试图过滤掉错误,而是在 ELMAH 将其存储在错误日志中之前拦截它们并更改发布的表单数据。我也很想知道这一点。
标签: c# security asp.net-mvc-3 forms-authentication elmah