인프런 커뮤니티 질문&답변

grs0412님의 프로필 이미지
grs0412

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

흔히 사용되는 메서드

사용자 입력값을 ILIKE에 집어넣었는때 보안적으로 어떤가요?

작성

·

154

·

수정됨

0

ILIKE와 같은 유틸함수에 직접적으로 사용자 입력값을 받을때 sql 인젝션이 방어되는지 궁금합니다.

 

검색해서 찾아보니 파라매터 바인딩하는 방법이 있는것 같은데
queryBuilder를 해야하는 것 같더라구요

 

sql injection 방어를 위해서 유틸함수를 쓰지 못하고 queryBuilder를 해야하는 거면 typeorm을 사용했을때 장점이 줄어드는 것 같아서 고민됩니다.

 

 

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

말씀하신대로 ILIKE 그대로 사용시 SQL 인젝션 방어가 안됩니다.

QueryBuilder를 사용했을때 장점이 없다고 생각되신다면 안쓰셔도 됩니다. (이건 개발자 마음이고 팀 마음입니다. Typeorm이 아니더라도 그 무엇도 사용해야할 의무는 없습니다)

하지만 제 경험상 특수한 상황이 아니라면 아마 typeorm의 장점은 충분할겁니다.

단순히 생각해보는거론 느끼기 어렵고 실제로 사용하지 않고 한번 프로젝트를 제작해보시면 아마 더 크게 와닿으실겁니다.

감사합니다!

grs0412님의 프로필 이미지
grs0412

작성한 질문수

질문하기