2009-02-25 13 views
7

तो मान लें कि मेरे पास एक साइट है और मेरे पास crossdomain.xml या clientaccesspolicy.xml नहीं है।उदाहरण के लिए crossdomain.xml और clientaccesspolicy.xml की भावना क्या है PHP/cURL?

इसका मतलब है कि लोग सिल्वरलाइट या फ्लैश अनुप्रयोगों के माध्यम से मेरी साइट तक नहीं पहुंच सकते हैं।

लेकिन वे उपयोग कर सकते हैं, का कहना है कि PHP में cURL (या अन्य भाषाओं में समतुल्य) अपनी साइट से जानकारी मिलती है और बाकी या WebService के माध्यम से अपने सिल्वरलाइट और फ्लैश आवेदन करने के लिए इसे प्रदान करने, आदि

  • क्या कोई यह समझा सकता है कि ये प्रतिबंध मेरी साइट की रक्षा कैसे करते हैं, उदाहरण के लिए क्रॉस डोमेन स्क्रिप्टिंग से?

  • क्या वे उस के खिलाफ की रक्षा कर रहे PHP/cURL और समकक्ष जो स्क्रिप्ट के माध्यम से अपनी साइट तक पहुँच है के साथ किया नहीं जा सकता है?

उत्तर

12

PHP सर्वर पर एक सर्वर साइड टेक्नोलॉजी और कोड निष्पादित करता है, न कि उपयोगकर्ता की मशीन पर। सिल्वरलाइट एक क्लाइंट साइड टेक्नोलॉजी है जो उपयोगकर्ता की मशीन पर चलता है।

यदि सिल्वरलाइट कोड किसी भी डोमेन पर मनमाने ढंग से वेब अनुरोध कर सकता है, तो यह क्रॉस-साइट स्क्रिप्टिंग हमलों के पूरे मेजबान का दरवाजा खोल देगा।

इस परिदृश्य को चित्रित करें:
बॉब www.OnlineBanking.com पर जाता है और अपने खाते की शेष राशि की जांच करने के लिए लॉग इन करता है। वह इस साइट को एक अलग पते पर नेविगेट करके छोड़ देता है। वह "लॉग आउट" पर क्लिक नहीं करता है, इसलिए वह अभी भी लॉग इन है (वैकल्पिक रूप से, वह एक नई ब्राउज़र विंडो/टैब खोलता है, जिससे बैंकिंग साइट अभी भी खुलती है)।
बॉब evil.com पर ब्राउज़ करता है, जिसमें सिल्वरलाइट एप्लिकेशन होता है।
सिल्वरलाइट एप्लिकेशन डाउनलोड और बॉब की मशीन पर चलता है।
यह एप्लिकेशन www.OnlineBanking.com/secretaccountdetails.html पर वेब अनुरोध करता है। इस फ़ाइल को पढ़ने के लिए प्रमाणीकरण की आवश्यकता है (evil.com प्रमाणीकृत नहीं है इसलिए इसे एक्सेस नहीं किया जा सकता है)।
बॉब हालांकि आईएस प्रमाणीकृत है, और अनुरोध सफल हुआ। Silverlight एप्लिकेशन इस फ़ाइल की सामग्री को पढ़ सकता है और जो भी इसे पसंद करता है (इसे evil.com पर भेजकर)।

सिल्वरलाइट में क्रॉस-डोमेन अनुरोध प्रतिबंध उपरोक्त परिदृश्य को होने से रोकते हैं। जब Silverlight ऐप द्वारा ऑनलाइनबैंकिंग.com पर अनुरोध किया जाता है, तो यह एक अलग डोमेन से ऐप की सेवा के बाद से एक क्रॉस डोमेन नीति फ़ाइल की जांच करेगा। चूंकि OnlineBanking.com में क्रॉस डोमेन अनुरोधों की अनुमति देने वाली नीति फ़ाइल नहीं है, इसलिए अनुरोध विफल हो जाता है और सिल्वरलाइट एप्लिकेशन secretaccountdetails.html डाउनलोड नहीं कर सकता है।