SECURE CODING

시큐어 코딩은 데이터 흐름마다 다른 방어를 둔다

시큐어 코딩은 입력값이 파싱되고 권한 검사를 지나 DB·템플릿·로그로 나갈 때, 각 경계에 맞는 검증·인코딩·파라미터화를 적용하는 습관입니다.

취약점별 방어 위치

attack surface
입력 검증허용 목록으로 형식, 범위, 길이를 확인해 XSS·SQLi의 첫 진입면을 줄입니다.
출력 인코딩HTML text, attribute, JS, URL처럼 출력 맥락별 인코딩을 다르게 적용합니다.
권한 확인인증과 인가를 분리하고 IDOR 방지를 위해 서버에서 리소스 소유권을 검증합니다.
오류·로그stack trace, token, 주민번호 같은 민감정보는 숨기고 correlation id는 남깁니다.

요청 처리 경계별 점검

요청 경로
입력면allowlist
처리면authz·prepared stmt
출력면context encoding
경계별 실패

취약점은 한 함수가 아니라 데이터가 입력되어 출력되기까지의 경로에서 생깁니다.