2011-08-22 3 views
2

사용자 작업을 추적하는 데 사용하는 작업 필터가 있습니다. 또한 사용자 에이전트를 데이터베이스에 저장하여 내 사이트가 가장 일반적으로 액세스하는 장치를 확인합니다. 내 관심사는 마치 SQL을 삽입 할 수있는 사용자 에이전트를 조정하기 위해 브라우저를 사용하는 것처럼 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(); 

답변

3

엔티티 프레임 워크는 SQL paramters를 사용하기 때문에 기본적으로 거의

(사용자가 제공 한 코드 샘플에서 leats에서) SQL-주사를 보호하고
관련 문제