由於相當明顯的原因,我想確定刪除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