HTML 난독화
유료 플랜에서는 인라인 JavaScript가 포함된 HTML 파일을 난독화할 수 있습니다. 난독화 도구는 표시된 <script> 태그를 추출해 그 내용을 난독화하고 주변 HTML은 그대로 유지합니다. 기본 난독화와 VM 난독화 모두에서 동작합니다.
Parse HTML 옵션을 켜면 난독화 도구가 <script> 태그를 자동으로 추출해 그 내용을 난독화하고 HTML 구조는 그대로 유지합니다.
동작 방식: 난독화 도구는 HTML을 파싱해 data-javascript-obfuscator 속성으로 표시된 비어 있지 않은 인라인
<script> 태그를 찾습니다. 표시된 각 스크립트는 개별적으로 난독화되며, 보호된 스크립트가 들어간 전체 HTML이
출력됩니다. src나 type="module"이 있는 스크립트는 이 속성이 있어도 건너뜁니다.
중요: 각 data-javascript-obfuscator script 태그 안의 코드는 자기완결적이어야 합니다. 스크립트는
개별적으로 난독화되므로, 표시된 다른 스크립트 안에서 이름이 바뀐 식별자에 의존하지 마세요. 표시되지 않은 스크립트는
보호된 스크립트가 명시적으로 유지하는 전역(var 선언이나 globalThis 할당을 통해)은 여전히 사용할 수 있습니다.
예제
입력 HTML
난독화 후에는 data-javascript-obfuscator 속성이 있는 스크립트만 변환됩니다. 나머지 내용은 모두 그대로 유지됩니다.
제한 사항
사용량 계산: 사용량은 전체 HTML 파일 크기가 아니라 난독화 대상으로 선택된 JavaScript에 대해 부과되며, 작업당 최소 부과량이 적용됩니다. 단, 최대 업로드 파일 크기 제한은 HTML 파일 전체에 적용됩니다.
출력 실행하기 비활성화: Parse HTML이 켜져 있으면 HTML은 JavaScript로 실행할 수 없으므로 "출력 실행하기" 기능이 비활성화됩니다.
data-javascript-obfuscator속성이 있는 비어 있지 않은 인라인 스크립트만 난독화됩니다src나type="module"이 있는 스크립트는 이 속성이 있어도 변경되지 않습니다- 각 script 태그는 개별적으로 난독화됩니다. 코드는 자기완결적이어야 하며, 표시된 다른 script 태그에서 이름이 바뀐 식별자를 참조할 수 없습니다
- 이벤트 핸들러 속성(
onclick,onload등)은 난독화되지 않습니다 - JavaScript URL(
javascript:프로토콜)은 난독화되지 않습니다 - HTML 주석 안의 스크립트는 무시됩니다
- Parse HTML이 켜져 있으면 소스 맵은 지원되지 않습니다
