HTML の難読化
有料プランでは、インライン JavaScript を含む HTML ファイルを難読化できます。難読化ツールはマークされた <script> タグを抽出してその内容を難読化し、周囲の HTML はそのまま保持します。基本的な難読化と VM 難読化のどちらでも動作します。
Parse HTML オプションを有効にすると、難読化ツールが <script> タグを自動的に抽出してその内容を難読化し、HTML の構造を保持します。
仕組み:難読化ツールは HTML を解析し、data-javascript-obfuscator 属性でマークされた空でないインライン <script> タグを探します。マークされたスクリプトはそれぞれ個別に難読化され、保護されたスクリプトを含む HTML 全体が出力されます。src または type="module" を持つスクリプトは、属性が付いていてもスキップされます。
重要:各 data-javascript-obfuscator スクリプトタグ内のコードは自己完結している必要があります。スクリプトは個別に難読化されるため、別のマーク済みスクリプト内でリネームされる名前に依存しないでください。マークされていないスクリプトは、保護されたスクリプトが明示的に保持するグローバル(var 宣言または globalThis への代入によるもの)を引き続き利用できます。
例
入力 HTML
難読化後、変換されるのは data-javascript-obfuscator 属性を持つスクリプトだけです。それ以外の内容はすべて変更されません。
制限事項
使用量の計算:使用量は、HTML ファイル全体のサイズではなく、難読化の対象として選択された JavaScript に対して課金されます(ジョブごとの最低課金額が適用されます)。ただし、アップロードできるファイルサイズの上限は HTML ファイル全体に適用されます。
出力の実行は無効:Parse HTML を有効にすると、HTML は JavaScript として実行できないため、「出力を実行」機能は無効になります。
- 難読化されるのは、
data-javascript-obfuscator属性を持つ空でないインラインスクリプトだけです srcまたはtype="module"を持つスクリプトは、属性が付いていても変更されません- 各スクリプトタグは個別に難読化されます。コードは自己完結している必要があり、他のマーク済みスクリプトタグでリネームされる名前を参照できません
- イベントハンドラー属性(
onclick、onloadなど)は難読化されません - JavaScript URL(
javascript:プロトコル)は難読化されません - HTML コメント内のスクリプトは無視されます
- Parse HTML が有効な場合、ソースマップはサポートされません
