2009-05-04 7 views
5

मान लीजिए कि आप नेटवर्क-आधारित WinForms एप्लिकेशन लिख रहे थे जो ग्राहक साइट पर प्रतिबंधित कंपनी नीतियों के कारण "परावर्तक" वातावरण में चलना है। इस तरह के शत्रुतापूर्ण माहौल के किस प्रकार के प्रतिबंध हैं, और आपने उनके आसपास डिजाइन करने के लिए क्या किया?.NET WinForms ऐप को तैनात करने के लिए सबसे विरोधी कॉर्पोरेट वातावरण क्या है?

  • समस्या::

    कुछ उदाहरण के साथ शुरू करने के लिए एक बहुत ही सीमित फ़ायरवॉल है कि केवल आउटबाउंड बंदरगाह की अनुमति देता है 80 यातायात नहीं है। समाधान: अपने नेटवर्किंग करने के लिए केवल HTTP का उपयोग करें।

  • समस्या: .NET ढांचे की अनुमति नहीं है। समाधान: अपने ऐप को वेब ऐप में बदल दें।

वास्तविक जीवन ग्राहक स्थितियों में उदाहरण के लिए ऐसे कुछ प्रतिबंध क्या हैं, उदाहरण के लिए बैंकिंग सॉफ्टवेयर (उदाहरण के लिए विशेष रूप से सख्त वातावरण में रहने की आवश्यकता है)?

+2

ऐसा नहीं है कि यह वास्तव में आपके प्रश्न के उत्तर, लेकिन यह मुझे (पहली समस्या विशेष रूप से) आरएफसी 3093. की ​​याद दिलाता है एक निश्चित बिंदु तुम सिर्फ स्वीकार करने के लिए है कि इन हैक्स प्रबंधन से बचने के लिए, वास्तविक सुरक्षा बनाए रखने नहीं होती हैं है पर। –

+0

यह एक बहुत बेकार इस बंद कर दिया है की तरह है, मैं इसे एक अच्छा समुदाय विकी सवाल बना सकता था लगता है। – overslacked

उत्तर

3

ठीक है, प्रश्न का पहला भाग, मुझे यकीन नहीं है। हालांकि, आपके बुलेट बिंदु के रूप में। आप पोर्ट 80 पर अपना सर्वर चला सकते हैं और HTTP का उपयोग नहीं कर सकते लेकिन आपका कस्टम प्रोटोकॉल। Additionaly, निश्चित रूप से फ़ायरवॉल एसएसएल (443) की अनुमति देता है, आप एसएसएल में अपने प्रोटोकॉल को भी लपेट सकते हैं। जहां तक ​​.NET ढांचे की अनुमति नहीं है, आप .NET के लिए Xenocode के PostBuild या इसी तरह के "स्थिर लिंकिंग" प्रकार का उपयोग कर सकते हैं। साथ ही, HTTP सामग्री के लिए, आप अपना एप्लिकेशन HTTP पर संचार कर सकते हैं लेकिन वेब सेवाओं का उपयोग कर सकते हैं और इसलिए अभी भी एक समृद्ध ग्राहक प्रदान कर सकते हैं।

यहाँ PostBuild के लिए एक लिंक है:

https://secure.xenocode.com/Products/Postbuild-for-NET/

+1

443 इस तरह से खुला है कि एक आंतरिक अनुप्रयोग का उपयोग करने की गारंटी नहीं है। मेरे अनुभव से, के अधिकांश में वातावरण वहाँ वास्तव में जगह में छानने प्रॉक्सी किसी तरह का "केवल पोर्ट 80 खुला है", - इस प्रॉक्सी केवल HTTP यातायात की अनुमति देगा, अक्सर हेडर यह पसंद नहीं करता नहीं हटेगा, और अगर ऐसा लगता है कि उसके नियमों का उल्लंघन हुआ है तो चुपचाप HTTP रिटर्न डेटा को प्रतिस्थापित कर देगा। – David

0

ऐसे .NET 1.1, 3 साल .NET 2.0 के रिलीज के बाद ही पुराना चौखटे में विकसित करने के लिए मजबूर किया जा रहा है। डेस्कटॉप और सर्वर टीमों के बीच डिस्कनेक्ट भी करें। डेस्कटॉप टीम ने सोचा कि .NET खराब और असुरक्षित था, जबकि सर्वर टीम के पास बिल्कुल विपरीत प्रतिक्रिया थी और .NET से प्यार था क्योंकि इसमें ट्रस्ट अनुमतियों के साथ पर्यावरण को लॉक करने की क्षमता थी।

कॉर्पोरेट नीति को बदलने के लिए आप बहुत कुछ नहीं कर सकते हैं जो बहुत तेज़ है। यह एक धीमी, बहुत धीमी है, उन्हें कुछ नया स्वीकार करने की प्रक्रिया है।

1

पोर्ट 80 के माध्यम से सभी नेटवर्क यातायात को मजबूर करना एक अच्छा है। और फिर पोर्ट 80 पर एक पुनर्निर्देशक की आवश्यकता होती है ताकि एकाधिक सर्वर अनुप्रयोगों को एक बंदरगाह पर "सुनो" करने की अनुमति मिल सके क्योंकि कोई अन्य पोर्ट खोलने से "सुरक्षा जोखिम" होगा।

1

शायद आपको सबसे बड़ी समस्या मिल जाएगी जो कंपनियां नियमित रूप से विंडोज अपडेट नहीं चलाती हैं, और उनके कंप्यूटर पर इंटरनेट तक पहुंच नहीं है। मेरे ग्राहक इस तरह हैं, लेकिन फिर उन्हें होने की जरूरत है।

इसका मतलब है कि जब आप अपने सॉफ़्टवेयर को रोल करते हैं, तो आपको यह जानने की ज़रूरत है कि उनके पास क्या है। प्लेटफ़ॉर्म उनके पास है, और उन्हें 'नवीनतम में अपडेट' करने के लिए हमेशा एक विकल्प नहीं है। इंटरनेट के बिना, प्रत्येक डेस्कटॉप पर अपडेट अपडेट करने के लिए यह एक वास्तविक दर्द है, और सभी .NET संस्करण, सर्विस पैक और एमएस पैच लुढ़क गए हैं। इसलिए यदि आप उस कोड को वितरित करते हैं जिसके लिए उपयोगकर्ता की आवश्यकता नहीं होती है, तो आपको इसे फिर से लिखना पड़ सकता है।

2

कंपनियां जो आईई 6 के साथ चिपकने का आग्रह करती हैं। यदि आप वेब ऐप के साथ प्रतिबंधों के आसपास काम करने का प्रयास करते हैं तो यह एक संपूर्ण ओवरहेड जोड़ सकता है।

अपने उपयोगकर्ताओं को अपने मशीन पर सामान स्थापित करने के लिए प्रशासन अधिकार नहीं देना एक बड़ा सौदा है, क्योंकि ब्राउज़र पर कुछ सुरक्षा सेटिंग्स हो सकती हैं जिन पर वे जोर दे सकते हैं।

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