2012-08-09 26 views
7

क्रोम एक्सटेंशन को संग्रहित करने के लिए पैक किया गया है। सेटअप के बाद यह फ़ोल्डर पर स्थापित है और उपयोगकर्ता इसे एक्सेस कर सकते हैं। इसके अलावा वह विस्तार को फिर से लिख सकता है और यहां तक ​​कि नए एक्सटेंशन तक क्लोन भी कर सकता है।क्रोम एक्सटेंशन

मैं उपयोगकर्ता संशोधनों और क्लोनिंग से विस्तार की रक्षा कैसे कर सकता हूं? मुझे डीएलएल फाइलों के लिए संभावना मिलती है (संकलित किया जा सकता है) - लेकिन यह बहुत अच्छा नहीं है।

उत्तर

5

आधार सामान्य लगता है। डिफ़ॉल्ट ब्राउज़र द्वारा HTML/जावास्क्रिप्ट का अर्थ है, इसलिए क्रोम एक्सटेंशन जो पृष्ठ के साथ चलते हैं।

एक तरह से अपने जावास्क्रिप्ट कोड अंधेरा करना, या NPAPI पर संकलित-द्विआधारी प्लगइन्स भरोसा करते हैं, या NaCl

+0

तो: obfuscate उपकरण: http://www.javascriptobfuscator.com/default.aspx और http://stackoverflow.com/questions/194397/how-can-i-obfuscate-javascript – mpz

9

यदि आपके पास कुछ स्वामित्व कोड है (उदा। विशेष अलगो जिसे आप सुरक्षित रखना चाहते हैं ') और आप क्रोम को लक्षित कर रहे हैं - मैं Native Client के साथ जाने का सुझाव दूंगा। Nacl आपको अपने ब्राउज़र में सी/सी ++ कोड चलाने देता है। यह बहुत शक्तिशाली है और आप सुनिश्चित कर सकते हैं कि किसी के लिए आपकी बाइनरी चुनना बहुत कठिन होगा।

1

का उपयोग इस समय वहाँ कोई रास्ता नहीं आप उन या प्रतिस्पर्धियों से आपकी Chrome एक्सटेंशन स्रोत कोड को छुपा सकते हैं है।

मैं दुकान में एक्सटेंशन बेचना कर सकते हैं:

क्रोम web store faq में एक बयान भी नहीं है? अभी तक नहीं, लेकिन यह कार्यक्षमता जल्द ही आ रही है।

इस सुविधा के लिए प्रतीक्षा या निम्न विकल्पों की कोशिश कर सकते हैं:

  • अपने जावास्क्रिप्ट स्रोत अंधेरा: अधिक जानकारी के How can I obfuscate (protect) JavaScript?

  • के लिए इस चेक एक दूरस्थ सर्वर पर अपने प्रमुख तर्क रखें और सर्वर को संवाद करने के लिए अजाक्स को पृष्ठभूमि स्क्रिप्ट से कॉल करें

क्रोम एक्सटेंशन 'एक ही मूल नीति' से मुक्त कर रहे हैं पार मूल अनुमति प्रकट में परिभाषित किया गया है:

नियमित वेब पृष्ठों XMLHttpRequest ऑब्जेक्ट का उपयोग कर सकते भेजने के लिए और दूरस्थ सर्वर से डेटा प्राप्त है, लेकिन वे कर रहे हैं उसी मूल नीति द्वारा सीमित। एक्सटेंशन इतने सीमित नहीं हैं। एक एक्सटेंशन रिमोट सर्वर से इसकी उत्पत्ति के बाहर बात कर सकता है, जब तक कि यह पहले क्रॉस-मूल अनुमतियों का अनुरोध करता है।

अपने मेनिफ़ेस्ट में निम्नलिखित को परिभाषित करें:

{ 
    "name": "your extension", 
    ... 
    "permissions": [ 
     "http://www.yourserver.com/" 
    ], 
    ... 
} 
संबंधित मुद्दे