我有一个带有剃刀字段密码的登录表单。 我的网站已经过了https。
一切正常,直到有人在基本控制器的OnException(ExceptionContext filterContext)下添加了这段代码:
string[] keys = filterContext.HttpContext.Request.Form.AllKeys;
var valueMap = new List<KeyValuePair<string, string>>();
foreach (var key in keys)
{
valueMap.Add(new KeyValuePair<string, string>(key, filterContext.HttpContext.Request.Form[key]));
}
if (valueMap.Any())
{
sb.AppendLine("POST Parameters : ");
foreach (var keyValuePair in valueMap)
{
sb.AppendLine(string.Format(" - {0} : {1}", keyValuePair.Key, keyValuePair.Value));
}
}
使用字符串生成器的内容向支持人员发送电子邮件。 密码包含在邮件中。
我不希望这种情况再次发生。
什么是最佳解决方案? MVC4中是否有内容来处理这种情况? 我必须在表单上使用JS密码加密吗?
答案 0 :(得分:1)
不,不要在表单上添加加密,这样做会要求您在使用之前解密数据,而这仍然无法真正解决您所关心的问题。我建议您修改该异常处理程序以跳过密码字段。如果您的网站接受信用卡,您可能也希望为这些字段提供类似的处理方式。