1
내가 엔티티 프레임 워크 (SQL 주입 취약점을 나타내는 타사 도구) 대비 보안을 사용하고

로 null 값을 전달, 내 코드는 다음과 같다 :엔티티 프레임 워크 - 매개 변수

public int Insert(UserAddress userAddress) 
{ 
    _context.Entry(userAddress).State = EntityState.Added; 
    _context.SaveChanges(); 
    return userAddress.Id; 
} 

실행됩니다 때 SaveChanges(),은 삽입 쿼리는 다음과 같이 생성됩니다

INSERT [dbo].[Address] ([UserId], [Name], [Address1], [Address2], 
         [City], [State], [PostalCode], 
         [Location], [LocationTypeId], 
         [BusinessName], [DeliveryInstructions], 
         [IsDefault], [SortOrder]) 
VALUES ('111111a1-22z2-33x3-44y4-fbad42c09c3a', @2, 'address1', null, 
     'Alpharetta', 'GA', 30005, 
     'POINT (-80.2427068 30.0925161)', 0, 
     '', '', 
     1, 0) 

을 이제 보안을 대조 따라, 윤리적없는 쿼리에 "널 (null)"통과, 나쁜 습관이다 -하지만 난 null 값을 허용 할!

SQL 매개 변수를 사용하여 SaveChanges() 메서드에 null 값을 전달할 수 있습니까?

처리 방법이 있습니까? 누구 아이디어가 있습니까?

+0

null 값을 빈 문자열로 변환하지 않는 이유는 무엇입니까? –

+0

필요한 필드의 [ViewModel] (https://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc)을 작성한 다음 저장하기 전에 엔티티 모델에 매핑하십시오. –

+0

@robAnthody, 나는 많은 수속 절차를 가지고 있는데, 그 검사는 where 절에서 NULL이 아니므로 빈 문자열이 좋은 접근 방법이 될 것이라고 생각하지 않는다! – Ankush

답변

0

저는 대비 보안 .NET 에이전트 개발자 중 한 명입니다. 우리 제품에 대해 거짓 긍정처럼 들립니다. insert 문에서 null을 사용하는 데는 아무런 문제가 없어야합니다.

지원 요청을 제출하고 추적 코드 xml을 포함시킬 수 있습니까? Google에서이 문제를 해결해 드리겠습니다.

+0

지원 요청을 제출하는 방법 또는 위치를 알려주십시오. ? – Ankush

+0

안녕 Ankush, https://support.contrastsecurity.com으로 이동하여 지원 요청을 열거 나 [email protected]으로 전자 메일을 보내십시오. 가능하다면 취약점 발견을 XML로 내 보내서 티켓과 함께 포함 시키십시오. 우리 팀이 연락 할거야. 감사! –