Prepare Statement
SQL injection의 근본적인 해결책이지만, 문법적/비즈니스 로직 상 사용이 불가한 로직이있으면 서버가 운영중일 경우 소스코드 수정이 어려울 수 있다.
Filtering ( white List Filter)
화이트 리스트 필터 방식을 적용해 허용할 문자열을 지정하는 것이 좋다. 상황에 따라서 Black list Filter 방식을 적용해야 한다면 공격 기법에 사용될 수 있는 예약어 및 특수문자를 모두 필터링 해야 한다.
문자열 필터링시 대소문자 모두 필터링 하는 것을 권장한다.
Blind SQL injection의 경우 substr, ascii, <, > 등 공격에 활용되는 함수, 연산자 등을 필터링 해야 한다.