SECURITY CH4
Prepared Statement
Prepared Statement는 SQL 구조를 먼저 고정하고 사용자 입력을 값으로 바인딩해 명령어 해석을 막습니다.
Unsafe
문자열 결합
SQL 구조와 사용자 입력이 한 문자열로 섞여 입력값이 조건절을 바꿀 수 있습니다.
Safe
파라미터 바인딩
SQL 구조는 미리 정의되고 입력값은 지정된 자리의 데이터로만 들어갑니다.
SQL 구조 고정
SELECT, WHERE, AND 같은 구문은 개발자가 작성한 형태로 유지됩니다.
입력값 바인딩
사용자가 입력한 값은 파라미터로 전달되어 데이터로만 비교됩니다.
추가 대책 병행
입력값 검증, DB 권한 최소화, 오류 메시지 제한까지 함께 적용합니다.