【发布时间】:2019-10-23 04:43:04
【问题描述】:
我们有记录功能来记录所有请求,现在我想从请求正文中隐藏一些敏感数据。
string body = null;
using (var reader = new StreamReader(request.InputStream))
{
request.InputStream.Seek(0L, SeekOrigin.Begin);
body = reader.ReadToEnd();
}
if (!string.IsNullOrWhiteSpace(body))
{
_logger.NameValueLogger.Add("body", RemoveSensitiveData(body));
}
正文内容示例:
“Id=12345&Id=&Name=TestName&AddressLine1=1232+test+&AddressLine2=sdf&City=abcd”
现在在 RemoveSensitiveData() 我想搜索 Name 并将名称值“TestName”替换为“*****”
另外,如果有任何其他字段我想与名称一起隐藏,我也必须替换它们。
谁能建议最好的方法来处理这个问题?
【问题讨论】:
-
我认为你在正确的轨道上。我绝对会学习一些非常基本的正则表达式语法并使用正则表达式。
-
@EdPlunkett 我有几个字段必须从整个应用程序中隐藏,例如: string hiddenFieldsList = "Name|AddressLine1|AccountNumber|BorrowName|CoBorrowName|CheckNumber|CheckAmount";那么有没有更好的方法来代替硬编码到字符串中呢?
-
你可以用正则表达式来做到这一点,是的。我很高兴您找到了可以为您完成所有工作的人。
-
正则表达式部分我知道了,我正在将此字符串传递给正则表达式。有没有更好的方法来做到这一点而不是硬编码成字符串?
标签: c# asp.net .net regex string