将用户代理保存到数据库以避免SQL注入?

时间:2011-08-22 10:53:37

标签: asp.net-mvc asp.net-mvc-3

我有一个动作过滤器,用于跟踪用户活动。我还将用户代理保存到数据库,以查看我的网站最常访问的设备。我担心的是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();

1 个答案:

答案 0 :(得分:3)

实体框架使用sql参数,所以基本上你几乎可以防止sql注入(至少在你提供的代码示例中)