2010-10-08 10 views
9

मैं अपनी कंपनी में एक नया डेवलपर हूं और मैं ज्यादातर फ्रंट-एंड वेब विकास करता हूं। हमारी टीम पर हमारी टीम पर तृतीय पक्ष जावास्क्रिप्ट को शामिल करने के लिए हमारी टीम और विपणन लोगों द्वारा अक्सर पूछा जाता है।होस्टिंग तृतीय पक्ष जावास्क्रिप्ट से जुड़े जोखिम क्या हैं?

"यहाँ एक 'छोटी कोड स्निपेट' है। हमारे विक्रेता से पूछा कि क्या आप हमारे घर पृष्ठ में इस डाल सकता है"

यह मैं बहुत परेशान करता है।

मुझे पता है कि ये स्क्रिप्ट हमारे पृष्ठों को धीमा कर सकती हैं, और मुझे कई मामलों में मिला है, मुझे यह सुनिश्चित करने के लिए कुछ कोड को घेरना पड़ता है कि ये तृतीय पक्ष त्रुटियां अन्य स्क्रिप्ट को प्रभावित नहीं करती हैं पन्ना।

इन लिपियों रूपों की एक किस्म में मेरे पास आते हैं ...

कुछ विक्रेता की आपूर्ति की स्क्रिप्ट, जिन्हें हम होस्ट कर रहे हैं ...

<script src="http://www.mycompany.com/js/vendor-file.js" type="text/javascript"> 

... कुछ हमारे कोड में संदर्भ हैं, लेकिन बाह्य रूप से की मेजबानी की

<script src="http://www.vendor.com/js/file.js" type="text/javascript"> 

... और कुछ कर रहे हैं स्क्रिप्ट डोम

को लिख कर हमारी साइट, हमारे दिमाग में जो डालने टैग पर इनलाइन दिखाई देते हैं 0
var a = document.createElement("script"); a.type = "text/javascript" ... etc. 

एक कम चिंता, लेकिन अभी भी महत्वपूर्ण है कुकी लेखन - और आईई 6 की 20 कुकी सीमा से अधिक (हाँ, एक महत्वपूर्ण ग्राहक आधार अभी भी आईई 6 पर है और वे वास्तविक $$$ का प्रतिनिधित्व करते हैं) - इसलिए हमें आवश्यकता है (उम्मीद है) कि हमारे डोमेन पर होस्ट की गई कोई भी जावास्क्रिप्ट कोई अतिरिक्त कुकीज़ नहीं छोड़ती है।

लेकिन, कुकी मुद्दे से अलग - क्या अतिरिक्त जोखिम/परिदृश्य/खतरे मौजूद हैं जिन्हें मुझे जानने की आवश्यकता है या देखना चाहिए - इसलिए मैं अपनी साइट और हमारे ग्राहकों को खुश रख सकता हूं।

धन्यवाद

रिच

+1

क्या आपके मालिक/प्रबंधक साइट पर विक्रेता के स्निपेट डालने से जुड़े समस्याओं से अवगत हैं? * मुझे लगता है कि आप बहुत परेशान होने का अधिकार हैं। सुनिश्चित करें कि आप किसी के साथ उच्च-चर्चा के साथ चर्चा करते हैं, इसलिए यदि कुछ भी वास्तव में गलत हो जाता है, तो आप कह सकते हैं कि वे जागरूक थे और शुरुआत में इसे ठीक कर चुके थे। – FrustratedWithFormsDesigner

+0

यदि आप वाणिज्य से बात कर रहे हैं तो आप इनमें से कई को देख सकते हैं। हम विभिन्न ट्रैफिक और रेफ़रल सौदों के लिए हमारे चेकआउट पृष्ठों पर उनमें से बहुत से प्राप्त करते हैं। कुछ मामलों में वे केवल पिक्सेल हैं लेकिन अन्य मामलों में वे जावास्क्रिप्ट हैं, किसी भी तरह से मैं एक बड़ा प्रशंसक नहीं हूं क्योंकि कोई भी आपके पृष्ठ को लोड होने से रोक सकता है:/ – dstarh

उत्तर

7

कोई भी बहुत बड़ी शक्ति वाला कोई बड़ा शब्द नहीं है। इसे अच्छी तरह से वाइल्ड करें।

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

जावास्क्रिप्ट एक जंगली जानवर हो सकता है। पूरे घर को दुर्घटनाग्रस्त करने के लिए एक छोटी, प्रतीत होता है कि निर्दोष लिपि के लिए यह बहुत आसान है। किसी भी साधारण लिपि का इलाज कभी न करें "बस एक मूर्ख छोटी चीज़"। यह सब एक स्क्रिप्ट के लिए एक महत्वपूर्ण फ़ंक्शन को प्रतिस्थापित करने के लिए होता है, जो कहता है, JQuery, या AJAX, या कुछ अन्य लाइब्रेरी पर निर्भर करता है, और आपकी साइट महिमा की चमक में उतर जाएगी।

+0

"नो" निबंध के लिए +1 :) – Jas

+0

अच्छी तरह से कहा। एक बार आपके पृष्ठ पर रिमोट स्क्रिप्ट हो जाने पर, यह आपके पृष्ठ को OWNS करता है। यह किसी भी चीज की निगरानी और पुन: लिख सकता है (या गलती से तोड़ सकता है)। –

3

वहाँ हमेशा की संभावना है कि एक विक्रेताओं सर्वर समझौता किया है और वे XSS किसी तरह से करते हैं।

2

ऐसा लगता है कि आप मुख्य रूप से मुख्य लोगों से अवगत हैं: पृष्ठ को धीमा करना, और तृतीय पक्ष गैर-होस्ट की गई स्क्रिप्ट का मौका तोड़ सकता है या उपस्थित नहीं हो सकता है, जिससे समस्याएं उत्पन्न हो सकती हैं।

यह इन तृतीय पक्षों की विश्वसनीयता पर भी निर्भर करता है। हमेशा बदलाव होता है कि उनकी स्क्रिप्ट कुछ दुर्भावनापूर्ण हो सकती है।

+0

मेरे लिए ... यह असली समस्या है ... ओपी एक बाहरी लिपि से लिंक करता है, विक्रेता की साइट हैक हो जाती है और अब वह अपने पृष्ठ में मैलवेयर सहित है ... – w4ik

0

कोड के लिए जिम्मेदारी का बोझ क्यों लेना है जिसे आपने नहीं लिखा था? अगर कुछ गलत हो जाता है, तो मैं शर्त लगाता हूं कि आपका प्रबंधक जिम्मेदार विक्रेताओं को जिम्मेदार नहीं ठहराएगा - वे आपको पकड़ेंगे। तो इस बात को न कहें, भले ही इसका मतलब है कि अपना काम बदलना।

0

आईई 8+ में निजी फ़िल्टरिंग नामक एक नई सुविधा है, जो मूल रूप से बताती है कि यदि यह एन (कॉन्फ़िगर करने योग्य) डोमेन से समान जावास्क्रिप्ट फ़ाइल पाता है तो यह सीमा तक पहुंचने के बाद इसे अवरुद्ध करता है। यह बुरा होगा अगर यह उदाहरण के लिए jquery था। यह डिफ़ॉल्ट रूप से अक्षम है लेकिन यदि उपयोगकर्ता इसका उपयोग कर रहे हैं तो यह अभी भी एक समस्या है।

संबंधित मुद्दे