सर्वोत्तम प्रथाएँ
ऑब्फ़स्केशन का प्रभावी उपयोग कैसे करें: क्या सुरक्षित करें, क्या छोड़ दें, और ऑब्फ़स्केशन आपके लिए क्या नहीं कर सकता।
अनुशंसाएँ
केवल अपना कोड ऑब्फ़स्केट करें।
वेंडर स्क्रिप्ट्स, लाइब्रेरीज़ या पॉलीफ़िल्स को VM-ऑब्फ़स्केट न करें। वे पहले से मिनिफ़ाई होती हैं और ऑब्फ़स्केशन उन्हें सिर्फ़ धीमा कर देगा।
सटीक सुरक्षा के लिए comment मोड का उपयोग करें।
सब कुछ सुरक्षित करने के बजाय केवल संवेदनशील फ़ंक्शन्स को
/* javascript-obfuscator:vm */से चिह्नित करें।ऑब्फ़स्केशन के बाद अच्छी तरह टेस्ट करें।
ऑब्फ़स्केटेड कोड को हमेशा अपने टारगेट एनवायरनमेंट में टेस्ट करें। कुछ विकल्प कोड को बारीक तरीकों से तोड़ सकते हैं।
हॉट पाथ्स को VM ऑब्फ़स्केशन से बाहर रखें।
एनिमेशन लूप, रियल-टाइम रेंडरिंग या बार-बार कॉल होने वाले कोड के लिए
vmExcludeFunctionsका उपयोग करें।
अत्यंत महत्वपूर्ण सुरक्षा सूचना
ऑब्फ़स्केशन रिवर्स इंजीनियरिंग को कठिन बनाता है, लेकिन यह एन्क्रिप्शन नहीं है। दृढ़ निश्चयी हमलावर क्लाइंट-साइड कोड से डेटा हमेशा निकाल सकता है।
इसके बजाय आपको यह करना चाहिए:
- सीक्रेट्स अपने बैकएंड सर्वर पर रखें
- सर्वर-साइड पर एनवायरनमेंट वैरिएबल्स का उपयोग करें
- कुंजियाँ छिपाने के लिए API कॉल्स अपने बैकएंड के ज़रिए प्रॉक्सी करें
- अपने सर्वर द्वारा जारी अल्पकालिक टोकन्स का उपयोग करें
आपको क्या सुरक्षित करना चाहिए?
VM ऑब्फ़स्केशन इनके लिए आदर्श है:
- मालिकाना एल्गोरिद्म और बिज़नेस लॉजिक
- लाइसेंस सत्यापन कोड (क्लाइंट-साइड जाँच)
- एंटी-टैम्परिंग और इंटीग्रिटी जाँच
- गेम लॉजिक और एंटी-चीट तंत्र
- प्रीमियम फ़ीचर्स का क्रियान्वयन
- मूल्य गणना का लॉजिक
