由于相当明显的原因,我想确定删除Auth_Password以免被ELMAH捕获的最佳方法。这样做最好的方法是什么?如何从ELMAH日志中删除“Auth_Password”
9
A
回答
9
由于ELMAH是开源的,我修改了Error.CS文件。里面Error.CS的错误cunstructor(约126行),我添加了这个:
_serverVariables.Remove(AUTH_PASSWORD);
//AUTH_PASSWORD = const string = "AUTH_PASSWORD" AND SET ELSEWHERE
1
我已经成功地做到这一点,而无需修改ELMAH来源:http://www.kipusoep.nl/2012/01/06/umbraco-elmah-with-sql-ce-4-0-and-authentication-part-2/
0
我只是遇到了同样的事情;使用以下解决:
using Elmah;
using ElmahErrorLogModule = Elmah.ErrorLogModule;
namespace XXXX
{
public class ErrorLogModule : ElmahErrorLogModule
{
protected override void OnErrorSignaled(object sender, ErrorSignalEventArgs args)
{
// Remove password from the server variables being serialized
args.Context.Request.ServerVariables.Remove("AUTH_PASSWORD");
//TODO: remove session id, cookie too?
base.OnErrorSignaled(sender, args);
}
}
}
并更新web.config中的错误日志模块,配置/ system.webserver /模块:
<add name="ErrorLog" type="XXXX.ErrorLogModule" preCondition="managedHandler" />
这将解决这个问题,而第二个往返。如果随后从传入请求中使用密码,则不会有问题,因为Elmah源代码显示它需要副本。
我意识到这是有点迟来回应上述,但问题似乎已被纠正在目前的Elmah为ASP,而不是为Elmah.Mvc nuget包。
0
我无法获得@Dominic Birch的答案,因为上下文是只读的。相反,我从ErrorLog派生(在我的情况下,MySqlErrorLog),并在那里:
public class FilteringMySqlErrorLog : MySqlErrorLog
{
static readonly string[] _stripSearch = new[] { "password", "cardnumber", "ccnumber", "cvv" };
public FilteringMySqlErrorLog(IDictionary config)
: base(config)
{ }
public override string Log(Error error)
{
error.ServerVariables.Remove("AUTH_PASSWORD");
foreach (string key in error.Form.AllKeys.ToList())
{
if (_stripSearch.Any(x => key.IndexOf(x, StringComparison.InvariantCultureIgnoreCase) != -1))
error.Form.Remove(key);
}
return base.Log(error);
}
}
相关问题
- 1. 如何从Hibernate本身删除日志?
- 2. 如何删除日志(NLog)?
- 3. 分析elmah日志
- 4. Elmah日志文件删除,手动还是有设置?
- 5. 如何使Topshelf日志例外到Elmah
- 6. 如何删除Log4php中的旧日志?
- 7. 从日志文件中删除例外
- 8. Logback:如何从日志文件中删除类名和日志级别?
- 9. 更新elmah日志条目
- 10. Elmah - 下载日志为空
- 11. 手动Elmah日志记录
- 12. ELMAH日志记录变量
- 13. 如何从Perl中的日志文件中删除IP地址?
- 14. 删除kahaDB日志
- 15. 我如何从日志文件中删除tput颜色
- 16. 如何从表中删除重复添加日志?
- 17. 如何从logstash索引中删除整个日志?
- 18. 如何从访问日志中删除负载均衡污染
- 19. 如何从这些网络日志中删除重复行
- 20. 如何从Selenium RC中删除日志结果?
- 21. 如何从上次通话中删除日志?
- 22. 如何从休眠日志中删除无意义代码(HHH000 ...)
- 23. 如何从SAS日志中删除警告?
- 24. 如何使用gsub从日志中删除前24个字符?
- 25. 如何从jboss日志中删除不需要的行?
- 26. 如何删除MySQL日志文件
- 27. 硒许多日志(如何删除)
- 28. 如何删除纱线日志
- 29. 如何自动删除日志文件?
- 30. 如何删除i18N RESTEASY日志消息?
尽管我也很喜欢,但我觉得太便宜了。 – 2009-09-25 03:36:00