我有一个动作过滤器,用于跟踪用户活动。我还将用户代理保存到数据库,以查看我的网站最常访问的设备。我担心的是SQL注入,好像我使用我的浏览器调整我的用户代理我可以注入sql。有没有人知道如何过滤或验证这些用户代理字符串?
ActionLog log = new ActionLog()
{
UserName = filterContext.HttpContext.User.Identity.Name,
Controller = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName,
Action = filterContext.ActionDescriptor.ActionName,
IP = filterContext.HttpContext.Request.UserHostAddress,
DateTime = filterContext.HttpContext.Timestamp,
UserAgent = filterContext.HttpContext.Request.UserAgent
};
db.AddToActionLogs(log);
db.SaveChanges();
答案 0 :(得分:3)
实体框架使用sql参数,所以基本上你几乎可以防止sql注入(至少在你提供的代码示例中)