Сохранение пользовательского агента в базе данных, чтобы избежать внедрения SQL? - PullRequest
2 голосов
/ 22 августа 2011

У меня есть фильтр действий, который я использую для отслеживания активности пользователей. Я также сохраняю пользовательских агентов в базе данных, чтобы увидеть, через какие устройства к моему сайту чаще всего обращаются. Меня беспокоит 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 Ответ

3 голосов
/ 22 августа 2011

Entity Framework использует параметры sql, так что в основном вы в значительной степени защищены от sql-инъекций (в точности в предоставленном вами примере кода)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...