입력·저장·출력의 안전한 처리
입력 검증과 질의·출력 처리를 구분해 적용합니다.
진도 0%
레슨
- 입력 타입과 크기 검증
허용 형식과 길이의 경계값을 검증합니다.
- SQL 값과 질의 구조 분리
매개변수화된 질의로 입력을 값으로 처리합니다.
- 저장값과 화면 출력 맥락
HTML 텍스트 출력과 입력 검증의 역할을 구분합니다.
- 세션 요청과 CSRF 방어
세션 쿠키를 쓰는 변경 요청의 출처와 토큰을 검증합니다.
입력·저장·출력의 안전한 처리 미션
m05-threat-model의 앱과 보고서를 이어받아 이번 점검 결과를 추가합니다. 본인 로컬 환경과 합성 데이터만 사용합니다.
요구사항
- 이전 앱의 저장소를 실습 SQLite 어댑터로 연결하고 자료를 이관합니다.
- 입력 한도·매개변수화·출력 맥락 처리·CSRF 방어를 적용합니다.
- 각 결함의 조건·영향·수정 전후 테스트를 보고서에 추가합니다.
완료 기준
- 특수문자 입력이 질의 구조를 바꾸지 않고 타인 자료 접근이 거절됩니다.
- 입력 경계값과 화면 텍스트 출력 테스트가 통과합니다.
- CSRF 토큰 없음·불일치 요청이 거절되고 정상 변경은 성공합니다.
- bash check.sh는 앞 위협 모델·인증 인가 24건 회귀와 이번 SQLite·화면·CSRF·HTTP 어댑터·보고서 검사를 실행합니다.
- 이전 Map 자료의 id·owner·본문 이관, 재연결 유지, 충돌 배치 전체 롤백을 검사합니다.
- HTTP 어댑터 검사는 request 리스너 직접 호출이며 실제 브라우저·소켓 검증과 구분합니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 관찰 결과와 추측을 구분하고 판단 근거를 설명합니다.
- 이전 산출물과 이번 변경의 연결 및 남은 위험을 설명합니다.
- 허가 범위와 민감 정보 최소화 기준을 지킵니다.
- E01~E05의 시점과 새 SQLite 저장 경계를 구분하고 E06에 각 결함의 조건·영향·수정·정상 대조·잔여 위험을 기록합니다.