Документация
/

Обфускация HTML

Обфускация HTML-файлов

Pro

На платном тарифе вы можете обфусцировать HTML-файлы, содержащие встроенный JavaScript. Обфускатор извлекает помеченные теги <script>, обфусцирует их содержимое и сохраняет окружающий HTML — работает как с базовой, так и с VM-обфускацией.

Поддержка HTML-файлов

Включите опцию Parse HTML, и обфускатор автоматически извлечёт теги <script>, обфусцирует их содержимое и сохранит структуру HTML.

Пример

Входной HTML

<!DOCTYPE html>
<html>
<head>
    <title>My App</title>
    <script src="vendor.js"></script> <!-- External scripts preserved -->
</head>
<body>
    <h1>Welcome</h1>

    <!-- This script will NOT be obfuscated (no attribute) -->
    <script>
        console.log('Regular script - not obfuscated');
    </script>

    <!-- This script WILL be obfuscated -->
    <script data-javascript-obfuscator>
        // Self-contained code only!
        function validateLicense(key) {
            return key.length === 32 && key.startsWith('PRO-');
        }
        validateLicense('test');
    </script>

    <!-- Another obfuscated script (isolated from the one above) -->
    <script data-javascript-obfuscator>
        function init() {
            console.log('App initialized');
        }
        init();
    </script>
</body>
</html>

После обфускации преобразуются только скрипты с атрибутом data-javascript-obfuscator. Всё остальное содержимое остаётся без изменений.

Ограничения

  • Обфусцируются только скрипты с атрибутом data-javascript-obfuscator
  • Каждый тег скрипта обфусцируется по отдельности — код должен быть самодостаточным и не может ссылаться на другие теги скриптов
  • Атрибуты обработчиков событий (onclick, onload и т. д.) не обфусцируются
  • URL-адреса JavaScript (протокол javascript:) не обфусцируются
  • Скрипты внутри HTML-комментариев игнорируются
  • Source maps не поддерживаются, когда включён Parse HTML