
450
실무로 통하는 클린 코드
25.1
입력값 검열하기
문제
사용자 입력을 검열하지 않은 코드가 있습니다.
해결
통제할 수 없는 모든 것을 검열하세요.
노트
입력 검열
입력 검열
input
sanitization
은 사용자의 입력을 처리하기 전에 입력이 안전하고 형식을 준수하는지 확인하기 위해
유효성을 검사하고 정리하는 작업입니다. 악의적인 사용자가 실행할 수 있는
SQL
삽입, 사이트 간 스크립팅
(
XSS
), 기타 공격과 같은 다양한 보안 취약점을 방지할 수 있습니다.
설명
악의적인 사용자는 항상 존재합니다. 따라서 사용자의 입력에 매우 주의를 기울여야 하
며, 입력 필터링 기술을 사용하고 검열해야 합니다. 외부 자원에서 입력을 받을 때마다 그 유효
성을 검사하고 잠재적으로 유해한 입력이 있는지 확인해야 합니다.
SQL
삽입은 대표적인 위협
입니다. 입력에 어서션과 불변성을 추가할 수도 있습니다 (
13
.
2
절 ‘전제 조건 적용하기’ 참조 ).
노트
SQL
삽입
SQL 삽입
SQL
injection
은 공격자가 데이터베이스와 통신하는 프로그램에 악성
SQL
코드를 삽입하는 것입니다. 공
격자는 텍스트 상자나 양식과 같은 입력 필드에
SQL
코드를 입력합니다. 그러면 애플리케이션이 해당 코드를
실행해 데이터에 접근하거나 수정하고, 민감한 정보를 검색하거나, 심지어 시스템을