Compit
소개문의요금제개인정보처리방침이용약관환불규정

온드(ONDE) | 대표: 노승현 | 사업자등록번호: 778-22-02215

서울특별시 광진구 긴고랑로 133-1, 401호(중곡동, 백림주택) | 전화: 010-7794-3962

© 2026 Compit. All rights reserved.
COMPIT
챌린지연습장쇼케이스학습랭킹가이드보안기초
챌린지연습장쇼케이스학습랭킹가이드보안기초
← 보안 기초
🛡️

XSS(크로스 사이트 스크립팅) 방어

🚨 필수

사용자 입력이 어떻게 공격 도구가 될 수 있는지 이해하기

XSS란?

악의적인 사용자가 웹페이지에 JavaScript 코드를 삽입하여 다른 사용자의 쿠키, 세션, 개인정보를 탈취하는 공격입니다.

❌ 나쁜 예시
// ❌ innerHTML로 사용자 입력 직접 삽입
const userInput = '<img src=x onerror="alert(document.cookie)">';
element.innerHTML = userInput; // 스크립트 실행됨!
✅ 좋은 예시
// ✅ textContent 사용 (자동 이스케이프)
element.textContent = userInput;

// ✅ React는 기본적으로 XSS 방어
// JSX에서 {userInput}은 자동 이스케이프됨
return <div>{userInput}</div>;

// ⚠️ 단, dangerouslySetInnerHTML은 위험!
// 반드시 DOMPurify 등으로 sanitize 후 사용
← 목록으로다음: 환경 변수와 .env 파일 →