Browser Environment
घोषित करें कि आपका प्रोडक्शन बिल्ड कैसे सर्व होता है, ताकि सुरक्षित कोड अपनी अखंडता उससे बाँध सके।
browserEnvironment विकल्प उस परिवेश के बारे में तथ्य घोषित करता है जिसमें आपका प्रोडक्शन बिल्ड सर्व होता है, ताकि सुरक्षित कोड स्वयं को उनसे बाँध सके। यह केवल vmSelfDefending के साथ ही प्रभावी होता है; अकेले यह कुछ नहीं करता।
यह एक छोटा ऑब्जेक्ट है। फ़िलहाल इसमें एक ही फ़ील्ड है:
browserEnvironment: { transport: 'https' }
transport
वह स्कीम जिससे आपका प्रोडक्शन बंडल सर्व करता है — 'http' या 'https'।
'https' के साथ, कोई रिवर्स इंजीनियर जिस प्रति को सादे HTTP पर सर्व करता है, वह सही ढंग से नहीं चलेगी। 'http' या फ़ील्ड न सेट करने पर ऐसी कोई सुरक्षा नहीं जुड़ती।
समर्थित टारगेट
browserEnvironment केवल browser, browser-no-eval और service-worker टारगेट्स पर लागू होता है। node, userscript और bytenode के लिए इस विकल्प को अस्वीकार कर दिया जाता है — ऑब्फ़स्केशन सेटिंग को चुपचाप छोड़ने के बजाय एक वैलिडेशन एरर के साथ विफल हो जाता है।
आवश्यकताएँ
vmSelfDefendingके साथ सक्षम; अन्यथा इसका कोई प्रभाव नहीं।- एक
browser,browser-no-evalयाservice-workerटारगेट। - ऑब्फ़स्केटर संस्करण 7.9.0 या बाद का।
उदाहरण
JavaScriptObfuscator.obfuscate(code, {
vmObfuscation: true,
vmSelfDefending: true,
target: 'browser',
browserEnvironment: { transport: 'https' }
});