MVC密码最佳实践
本文关键字:最佳 密码 MVC | 更新日期: 2023-09-27 18:17:57
我有一个密码为剃刀字段的登录表单。我的网站是通过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密码加密?
不,不要在表单上添加加密,这样做需要您在使用之前解密数据,并且仍然不能真正解决您所关心的问题。我建议您修改该异常处理程序以跳过密码字段。如果您的站点接受信用卡,您可能希望对这些字段也给予类似的处理。