2009-04-09 12 views
8

मैं समझता हूं कि क्लाइंट साइड कोड ब्राउज़र से पठनीय होना चाहिए, लेकिन मुझे आश्चर्य है (क्योंकि ऐसी कई चीजें हैं जिन्हें मैं अनदेखा करता हूं) यदि अंतिम उपयोगकर्ता को कोड को अपनाने के तरीके हैं और यदि नहीं, तो सबसे अच्छा अभ्यास क्या है जावास्क्रिप्ट कोड "पैक"।क्या वेबपृष्ठ के जावास्क्रिप्ट कोड को छिपाना या छेड़छाड़ करना/खराब करना संभव है?

+0

Dup: http://stackoverflow.com/questions/599911/what-do-you-use-to-minimize-and-compress-javascript-libraries –

+0

Dup: http://stackoverflow.com/ प्रश्न/702,907/क्या-हैं-कुछ-अच्छा-सीएसएस और जे एस-minimizers के लिए उत्पादन-कोड –

+0

http://stackoverflow.com/a/17468822/2450730 – cocco

उत्तर

4

this देखें।

इसे कम करने के अलावा, मुझे नहीं लगता कि आप वास्तव में जेएस को छुपा सकते हैं। यह सब उपयोगकर्ता के ब्राउज़र पर जाता है और वहां एक बार इसे देखने के कई तरीके हैं।

+0

यह सच है, तो आप * छिपा नहीं सकते यह * , लेकिन यह obfuscating और/या इसे कम करने से मनुष्यों को पढ़ने के लिए यह और अधिक कठिन बनाता है। –

+0

आप उपयोगकर्ता से जावास्क्रिप्ट क्यों छिपाना चाहते हैं? यदि आपके पास किसी प्रकार का व्यावसायिक तर्क है तो आपको बहुत बड़ी समस्याएं हैं। –

+0

http://malzilla.sf.net/ यह एक गैर मानक ब्राउज़र जो एक गैर अस्पष्ट रूप में बाहर सुलझा जे एस कोड थूक उपयोग करने के लिए तुच्छ है। क्लाइंट को जो भी भेजते हैं उसे छिपाना संभव नहीं है। – ephemient

2

एक नि: शुल्क जावास्क्रिप्ट Obfuscator के लिए here देखें: इस तरह के this one

यह लेख देखें के रूप में ऑनलाइन ऑबफस्केटर के बहुत सारे हैं।

यह देखते हुए कि यह वास्तव में संभव है, यदि आप बौद्धिक संपदा की रक्षा करना चाहते हैं, तो संभवतः आप अपने काम से गलत तरीके से मूल्य प्राप्त करने की कोशिश कर रहे हैं। Obfuscation को उलटना काफी आसान है, और आप शायद अपने कोड को बनाए रखने में समय बर्बाद कर रहे होंगे।

क्या सेवाओं आप जो एक साधन के रूप में अपनी साइट का दौरा करने के प्रदान करने के लिए प्रतियोगियों से अपनी साइट को अलग करने का इरादा पर अधिक ध्यान केंद्रित

+0

मैं इसका उपयोग नहीं करता, कुछ सुरक्षा ऐप्स जावास्क्रिप्ट का इलाज करेंगे जो इसे संभावित हैक प्रयास के रूप में दिखता है और इसे –

+0

अवरुद्ध करता है मैंने इसे कभी भी उपयोग नहीं किया :) और मैं कभी भी अपने जावास्क्रिप्ट को अपनाना नहीं चाहता – Mystic

0

वहाँ tools कि जावास्क्रिप्ट कोड सेक और यह अंत के लिए मुश्किल रेंडर करने के लिए इस्तेमाल किया जा सकता हैं समझने के लिए उपयोगकर्ता।

0

जावास्क्रिप्ट में किसी भी संवेदनशील या व्यक्तिगत जानकारी न रखें।

अपना डेटा सर्वर पर सुरक्षित रखने पर अपना समय व्यतीत करें।

0

चरण 1: नहीं।

आपको किसी भी सार्थक स्तर के obfuscation को प्राप्त करने के लिए बहुत कुछ करना होगा। अकेले नामों को अपनाना पर्याप्त नहीं है, क्योंकि सभी मानक कार्य अभी भी वहां होंगे (हालांकि उन्हें छोटे/obfuscated उपनामों की परत में दफनाया जा सकता है), और एक विशेष समारोह का उद्देश्य प्राप्त करना आसान है जब कोड अच्छी तरह से स्वरूपित हो जाता है फिर। कोई भी जो वास्तव में जानना चाहता है कि आपका जेएस कोड क्या कर सकता है, और इससे कोई फर्क नहीं पड़ता कि इससे पहले कि आप अपने ब्राउज़र की प्रतिलिपि प्राप्त कर लें।

यदि आप सचमुच अपनी जावास्क्रिप्ट में मूल्यवान व्यावसायिक प्रक्रियाएं हैं, तो आप इसे गलत कर रहे हैं (टीएम)।

0

कोई कोड आपके कोड को वास्तव में सुरक्षित रखने वाला नहीं है और यह आपको सुरक्षा के झूठे भ्रम (सीएफ security by obscurity) दे सकता है।

आप अपने कोड गुप्त के कुछ हिस्से रखने की जरूरत है, तो एक सर्वर साइड स्क्रिप्ट में संवेदनशील भागों खींच रहा है और (माना) बनाने AJAX स्क्रिप्ट के लिए कॉल पर विचार करें। विशेष रूप से JSON के आगमन के साथ, सर्वर-साइड स्क्रिप्ट के साथ संचार करना कभी आसान नहीं रहा है।

0

यह निम्न उपकरणों का उपयोग करना संभव है:

  • YUI कंप्रेसर - जावा की आवश्यकता है - बहुत अच्छा कंप्रेसर

  • पैकर - सबसे भ्रामक है, और सबसे छोटा कोड बनाता है, लेकिन स्क्रिप्ट नहीं चला यूयूआई जितनी तेजी से - यह ऑनलाइन इस्तेमाल किया जा सकता है। अधिकतम प्रभाव के लिए 'बेस 62 एन्कोड' का चयन करें।

  • डोजो कंप्रेसर मैं इस एक इस्तेमाल कभी नहीं किया है, लेकिन यह शीर्ष सूची में है। इसे जावा की भी आवश्यकता है।

  • JSMIN डगलस Crockford रूप से, यह एक एक बहुत ही सरल algorythm है, लेकिन यह अभी भी अच्छा है। JSLint के साथ संयोजन में उपयोग करने के लिए उपयोग करें।