VM ऑब्फ़स्केशन
VM ऑब्फ़स्केशन आपके JavaScript फ़ंक्शन्स को कस्टम बाइटकोड में बदल देता है, जो आउटपुट में एम्बेड किए गए वर्चुअल मशीन पर चलता है, ताकि सुरक्षित लॉजिक पढ़ने योग्य JavaScript के रूप में शिप न हो।
VM सुरक्षा योग्य फ़ंक्शन्स पर लागू होती है। root मोड में vmWrapTopLevelInitializers योग्य इनिशियलाइज़र्स को भी वर्चुअलाइज़ेशन के लिए रैप कर सकता है; मौजूदा VM प्रीसेट इसे चालू रखते हैं। VMNoFunctionsToVirtualize जैसी कवरेज चेतावनियों की समीक्षा करें, और संवेदनशील फ़ंक्शन्स को स्पष्ट रूप से चुनने के लिए comment मोड का उपयोग करें।
ऑब्फ़स्केशन रिवर्स इंजीनियरिंग की लागत बढ़ाता है, पर उसे असंभव नहीं बनाता, इसलिए सीक्रेट्स और सुरक्षा से जुड़े अंतिम निर्णय सर्वर पर रखें - ऑब्फ़स्केशन क्या गारंटी दे सकता है और क्या नहीं, यह जानने के लिए सर्वोत्तम प्रथाएँ देखें।
मदद चाहिए? अगर VM ऑब्फ़स्केशन ठीक से काम न करे, तो समस्या को सीमित करने और बग रिपोर्ट भेजने का तरीका जानने के लिए VM रनटाइम एरर का निदान देखें।
इस अनुभाग में
रनटाइम संगतता
बिल्ड को उस जगह से मेल कराएँ जहाँ वह चलता है: Target विकल्प, रनटाइम रक्षा उपाय, और बिल्ड पाइपलाइन को क्या बनाए रखना चाहिए।
VM कोड को कैसे बदलता है
VM क्या दिखने देता है और क्या छिपाता है, और फ़ंक्शन नामों की सुरक्षा कैसे करें।
विशिष्ट फ़ंक्शन्स को लक्षित करना
बेहतरीन प्रदर्शन के लिए केवल संवेदनशील फ़ंक्शन्स को चुनकर VM-ऑब्फ़स्केट करें।
Register-Based VM
VM को रजिस्टर-आधारित निष्पादन मॉडल पर स्विच करता है: तेज़ रनटाइम, थोड़े बड़े बंडल की कीमत पर।
Async Executor
VM को एसिंक्रोनस रूप से चलाएँ ताकि बाइटकोड डिक्रिप्शन कुंजी बंडल में भेजने के बजाय रनटाइम पर लाई जा सके।
Strict Mode संगतता
strict mode घोषित करें ताकि VM सही बाइटकोड कंपाइल करे।
Direct eval का व्यवहार
direct eval() VM ऑब्फ़स्केशन को क्यों बंद कर देता है, और इस समस्या से कैसे बचें।
VM Self Defending
VM रनटाइम के लिए छेड़छाड़ डिटेक्शन, कोड अखंडता जाँच और एंटी-हुकिंग।
VM Debug Protection
VM-सुरक्षित कोड के लिए एंटी-डिबगिंग उपाय।
VM Domain Lock
ऑब्फ़स्केटेड VM कोड को विशिष्ट डोमेन और सब-डोमेन तक सीमित करें।
Browser Environment
घोषित करें कि आपका प्रोडक्शन बिल्ड कैसे सर्व होता है, ताकि सुरक्षित कोड अपनी अखंडता उससे बाँध सके।
