【发布时间】:2013-12-27 21:44:56
【问题描述】:
我正在构建一个包装器来处理付款。我们想记录请求,但不想存储敏感的信用卡数据。将传递类似于下面的查询字符串
amount=100.00&expMonth=01&expYear=14&cardnumber=4111111111111111
我想用 X 值掩盖信用卡号的前 12 位数字。但是,卡号键并不总是在同一个位置。
我的第一个倾向是创建一个NameValueCollection 并检查密钥并执行string.format("XXXX-XXXX-XXXX-{0}", substring of the value
var qs = HttpUtility.ParseQueryString(request);
foreach (string key in qs)
{
if (key == "creditcard")
{
}
}
有人能指出正确的方向吗?
我需要以相同的格式保存字符串,只屏蔽信用卡号。
【问题讨论】:
-
旁注:考虑不要将敏感信息放入可能被用户复制粘贴的 Url... 通常此类请求是通过发布并将信息放入字段中完成的(以及某种重放/ CSRF 保护)
-
它实际上不是通过查询字符串进入的。它将通过请求的正文进入。它只是以查询字符串格式传递
-
为什么不使用常规的 ASP.Net (WebForms/MVC) 机制呢?无论如何 - 请查看 stackoverflow.com/questions/829080/…,它显示了如何重新构建它。
-
你使用什么数据库/ORM?
标签: c# asp.net query-string namevaluecollection