문제
사용자 입력값에 악의적 SQL 구문이 삽입·실행되는 SQL 인젝션을 방어하기 위해, SQL 구문 구조를 미리 컴파일한 뒤 입력값을 매개변수로 바인딩하여 구문으로 해석되지 않게 하는 기법을 쓰시오.
정답
Prepared Statement(매개변수화 쿼리)
해설
Prepared Statement(매개변수화 쿼리)는 SQL 구문을 미리 컴파일하고 입력값을 매개변수로 바인딩해 삽입된 SQL이 구문으로 해석되지 않게 막는다. 그 밖의 대응으로 입력값 검증, WAF, 최소 권한 원칙이 있다.