Browser Environment
Zadeklaruj, jak serwowana jest produkcyjna kompilacja, aby chroniony kod mógł związać z nią swoją integralność.
Opcja browserEnvironment deklaruje fakty o środowisku, w którym serwowana jest produkcyjna kompilacja, dzięki czemu chroniony kod może się z nimi związać. Działa wyłącznie razem z vmSelfDefending; sama z siebie nic nie robi.
To niewielki obiekt. Obecnie zawiera jedno pole:
browserEnvironment: { transport: 'https' }
transport
Schemat, przez który produkcja serwuje bundle — 'http' lub 'https'.
Przy 'https' kopia, którą inżynier wsteczny serwuje przez zwykłe HTTP, nie zadziała poprawnie. 'http' lub nieustawione pole nie dodaje takiej ochrony.
Obsługiwane targety
browserEnvironment dotyczy wyłącznie targetów browser, browser-no-eval i service-worker. Dla node, userscript i bytenode opcja jest odrzucana — obfuskacja kończy się błędem walidacji, zamiast po cichu porzucić ustawienie.
Wymagania
- Włączana razem z
vmSelfDefending; w przeciwnym razie nie działa. - Target
browser,browser-no-evallubservice-worker. - Wersja obfuskatora 7.9.0 lub nowsza.
Przykład
JavaScriptObfuscator.obfuscate(code, {
vmObfuscation: true,
vmSelfDefending: true,
target: 'browser',
browserEnvironment: { transport: 'https' }
});