2008-09-19 24 views
7

मैं सोच रहा था कि किसी अनुप्रयोग सर्वर की रूट में crossdomain.xml जोड़ने के साथ कोई सुरक्षा चिंता है? क्या इसे सर्वर के किसी अन्य भाग में जोड़ा जा सकता है और क्या आप किसी भी काम के बारे में जानते हैं जिसके लिए सर्वर को इस फ़ाइल को रखने की आवश्यकता नहीं है?फ्लेक्स और crossdomain.xml

धन्यवाद डेमियन

उत्तर

10

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

अपने फ्लेक्स अनुप्रयोग एक ही सर्वर से परोसा जाता है, तो आप एक crossdomain.xml

की जरूरत नहीं है आप अपनी साइट की एक उप निर्देशिका में डाल दिया और System.security.loadSecurityPolicy उपयोग कर सकते हैं()

http://livedocs.adobe.com/flex/2/langref/flash/system/Security.html

तब एप्लीकेशन आपकी निर्देशिका संरचना के उस पेड़ तक सीमित होंगे।

+0

हाय मार्क अपनी टिप्पणी के लिए धन्यवाद एक आंतरिक सर्वर पर नीति फ़ाइल। इस तरह की चीज चिंताजनक है। क्या आप जानते हैं कि इस संभावित खतरे को ठीक करने के लिए एडोब इस पर काम कर रहा है या किसी और सुरक्षा सुविधाओं के साथ आ रहा है? धन्यवाद डेमियन – Damien

+1

यह डिज़ाइन द्वारा "संभावित" खतरा है, कभी-कभी आपको ** ** को क्रॉसडोमेन संचार करने में सक्षम होने की आवश्यकता होती है, यही कारण है कि आपको इस फ़ाइल का उपयोग करके कनेक्शन को स्पष्ट रूप से अनुमति देने की आवश्यकता है। – grapefrukt

+0

मुझे इस जोखिम को काफी समझ में नहीं आता है। यदि आप अपने सर्वर की जड़ पर "सबकुछ अनुमति दें" crossdomain.xml डालते हैं, तो क्या यह फ़्लैश ऐप्स को पहले से ही ब्राउज़र के समान पहुंच प्रदान नहीं करता है? Xxx.com पर किसी वेब पेज पर जावास्क्रिप्ट yyy.com पर कुकीज़ नहीं देख सकता क्योंकि ब्राउज़र और जावास्क्रिप्ट सुरक्षा इसकी अनुमति नहीं देगी। Xxx.com पर एक फ्लैश फ़ाइल वास्तव में yyy.com पर कुकीज़ तक पहुंच सकती है (यदि yyy.com का crossdomain.xml सबकुछ अनुमति देने के लिए सेट है)? – SkippyFlipjack

0

आप अपने आवेदन के लिए वर्चुअल होस्ट कॉन्फ़िगर कर सकते हैं। इस तरह फ़ाइल crossdomain.xml आपके अनुप्रयोग की जड़ पर हो सकती है लेकिन सर्वर की जड़ पर जरूरी नहीं है।

-1

crossdomain.xml सिर्फ एक फ़ाइल है जिसका अर्थ फ्लैश रनटाइम के लिए है; आप प्रतिबंधित कर सकते हैं कि HTTP अनुरोधों को यह देखने के लिए क्या मिलता है। आप वेब रूट (उदा। अपाचे) कॉन्फ़िगरेशन कंट्रोल का उपयोग कर सकते हैं ताकि इसे "रूट" निर्देशिका से (और केवल इसे) पढ़ने की अनुमति मिल सके (पिछले उत्तरों देखें)।

आप अनुरोध में अन्य हेडर के आधार पर फ़िल्टर कर सकते हैं, आदि

चीयर्स

1

crossdomain फ़ाइल के लिए कोई समाधान कर रहे हैं, यह crossdomain डेटा एक्सेस या crossdomain पटकथा का समर्थन करने के लिए आवश्यक है। किसी भी क्रॉस-डोमेन अनुरोध की स्थिति में, फ्लैश डोमेन की रूट पर crossdomain.xml फ़ाइल की तलाश करेगा। उदाहरण के लिए, आप से एक XML फ़ाइल का अनुरोध कर रहे हैं:

http://mysubdomain.mydomain.com/fu/bar/

अगर एक crossdomain.xml फ़ाइल पर मौजूद फ्लैश की जाँच करेगा:

http://mysubdomin.mydomain.com/crossdomain.xml

आप crossdomain.xml फ़ाइल जगह कर सकते हैं अन्य स्थान पर। हालांकि, जब आप कभी भी किसी अन्य स्थान से एक crossdomain.xml फ़ाइल को लोड करने की जरूरत है, तो आप Security.loadPolicyFile के माध्यम से यह करना होगा। ध्यान रखें कि इस के स्थान crossdomain सुरक्षा एक्सेस आप पर कोई प्रभाव। फ्लैश केवल कि crossdomain और उसके बच्चे फ़ोल्डर हैं फ़ोल्डर में पहुंचने की अनुमति देगा।

तुम भी security changes in Flash Player 10 पर पढ़ सकते हैं।

+0

यह सख्ती से सच नहीं है; क्रॉसडोमेन फ़ाइल के लिए वर्कअराउंड आपके फ़्लैश एप्लिकेशन को होस्ट करने वाले सर्वर के माध्यम से सभी नेटवर्क यातायात को प्रॉक्सी करना है। – Brian

0

हां।crossdomain नीति फाइलों के साथ बहुत सावधान:
http://www.jamesward.com/2009/11/08/how-bad-crossdomain-policies-expose-protected-data-to-malicious-applications/

मेरे दो अंगूठे के सामान्य नियम हैं:

  • एक सर्वर कुकीज़
  • का उपयोग करता है एक crossdomain न रखें पर एक crossdomain नीति फ़ाइल न रखें