HTML 이스케이프

XSS 위험을 낮추는 데 도움이 되는 HTML 엔티티 이스케이프/언이스케이프 도구

사용 안내

🚀 빠른 시작

  • 텍스트 영역에 내용(HTML 또는 이미 이스케이프된 텍스트)을 입력
  • 인코딩/디코딩을 선택
  • 버튼 클릭 시 변환, 결과는 같은 텍스트 영역에 표시
  • 복사를 눌러 결과를 재사용

📌 자주 쓰는 활용 사례

  • 사용자 댓글: XSS 공격을 방지하기 위해 사용자 제출 댓글 이스케이프
  • 블로그 게시물: 글에서 HTML 코드 예제 표시
  • 포럼 게시물: 사용자 생성 콘텐츠를 안전하게 표시
  • 채팅 메시지: 채팅 기능을 통한 악성 코드 확산 방지
  • 폼 데이터: 폼 제출 데이터 처리 및 표시
  • 코드 표시: 웹 페이지에서 HTML/JavaScript 코드 스니펫 표시

🧭 활용 팁

  • 컨텍스트 인식 이스케이프: 출력 위치에 따라 적절한 이스케이프 전략 선택
  • 서버 측 처리: 중요한 보안 이스케이프는 서버 측에서 수행
  • 이중 확인: 이스케이프 후 출력을 확인하여 누락이 없는지 확인
  • 라이브러리 사용: 프로덕션 환경에서는 수동 처리 대신 성숙한 이스케이프 라이브러리 사용
  • 미리보기 확인: 이스케이프 후 브라우저 콘솔에서 실제 표시 미리보기

🎛️ 이스케이프 규칙 및 엔티티

  • 일반 문자: < > & " '(슬래시 / 는 일반적으로 불필요; 문맥에 따름)
  • 엔티티 형식: 특수 문자는 &entity; 또는 &#code; 형식으로 변환됩니다. 예: <는 < 또는 <이 됩니다
  • 속성 이스케이프: 따옴표는 "로 변환되어 HTML 속성 값 보호
  • 스크립트 보호: <script> 태그는 자동으로 이스케이프되어 JavaScript 인젝션 방지
  • 태그 처리: <div>는 <div>로 변환되어 브라우저 파싱 방지

⚠️ 제한 사항 및 호환성

  • 이 도구는 Sanitizer가 아닙니다: 스크립트/이벤트/위험한 프로토콜을 제거하지 않습니다. 콘텐츠 정화와 함께 사용하세요
  • 불완전한 보호: 이스케이프만으로는 모든 XSS를 방지할 수 없으며 다른 보안 조치와 결합 필요
  • 컨텍스트 종속: 다른 위치에는 다른 이스케이프 전략이 필요 (HTML 콘텐츠, 속성, JavaScript, CSS)
  • 페이지를 원활하게 유지하기 위해 대량 텍스트는 단순하게 처리될 수 있습니다. 분할을 권장합니다

🔒 개인정보 보호 및 보안

  • 모든 처리는 브라우저 내에서 이루어지며, 데이터는 기기를 떠나지 않습니다

❓ 자주 묻는 질문

XSS 공격이란 무엇입니까?

XSS(크로스 사이트 스크립팅)는 공격자가 악성 스크립트를 웹 페이지에 주입하여 사용자 정보를 훔치거나 악의적인 작업을 수행하는 공격입니다. HTML 이스케이프는 XSS에 대한 기본 방어입니다

언제 HTML 이스케이프가 필요합니까?

댓글, 메시지, 폼 데이터 등 사용자 입력을 표시할 때는 항상 이스케이프가 필요합니다. HTML 태그를 포함할 수 있는 콘텐츠는 이스케이프가 필요합니다

<와 <의 차이점은 무엇입니까?

둘 다 < 문자를 나타냅니다. <는 명명된 엔티티, <은 숫자 엔티티입니다. 기능은 동일하지만 명명된 엔티티가 더 읽기 쉽고 숫자 엔티티가 더 범용적입니다

이스케이프로 모든 JavaScript 인젝션을 방지할 수 있습니까?

아니요. HTML 이스케이프는 HTML 컨텍스트에서만 작동합니다. JavaScript, CSS, URL 컨텍스트에서는 다른 이스케이프 방법이 필요합니다

왜 가끔 < 같은 이중 이스케이프가 표시됩니까?

콘텐츠가 두 번 이스케이프되었기 때문입니다. 처음에 <가 <가 되고, 다음에 &가 &로 이스케이프되어 결과적으로 <가 됩니다. 중복 이스케이프는 피해야 합니다

일부 안전한 HTML 태그를 허용하려면 어떻게 해야 합니까?

단순 이스케이프가 아니라 ‘정화(Sanitization)’를 사용하세요: 허용 목록으로 안전한 태그/속성만 남기고 프로토콜을 필터링합니다. p/br/ul/ol/li/a/strong/em/code/pre/blockquote/h1–h3 정도만 허용하고, a 는 href/title/target 만(프로토콜은 http/https/mailto/tel), img 는 src/alt 만 허용. style 과 모든 on* 이벤트는 제거. DOMPurify/sanitize‑html 권장, 가능하면 서버 측에서 정화. 신뢰되지 않은 내용을 innerHTML/dangerouslySetInnerHTML 에 주입하지 말고, 순수 텍스트는 textContent 사용

HTML 이스케이프/언이스케이프 - 온라인 HTML 엔티티 도구 - CrateX.app