2012-05-31 18 views
5

किया जा सकता है मैंने क्रॉस डोमेन नीति के आसपास काम करने के बारे में कुछ पढ़ा है, और अब मुझे दो तरीकों से अवगत कराया गया है जो मेरे लिए काम करेंगे, लेकिन मैं यह समझने के लिए संघर्ष कर रहा हूं कि कोर कैसे है कोई क्रॉस डोमेन प्रतिबंध नहीं होने से सुरक्षित है।कोई क्रॉस डोमेन प्रतिबंधों से CORS सुरक्षित कैसे है? ऐसा लगता है कि इसका उपयोग दुर्भावनापूर्ण रूप से

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

अब सीओआरएस सुविधा के साथ, ऐसा लगता है कि यह दुर्भावनापूर्ण लोगों द्वारा काम किया जा सकता है क्योंकि यह दुर्भावनापूर्ण सर्वर है जिसे क्रॉस डोमेन अनुरोध को अधिकृत करने की अनुमति है। इसलिए यदि कोई दुर्भावनापूर्ण स्क्रिप्ट किसी दुर्भावनापूर्ण सर्वर पर विवरण भेजने का निर्णय लेती है जिसमें Access-Control-Allow-Origin: * सेट है, तो अब वह उस डेटा को प्राप्त कर सकता है।

मुझे यकीन है कि मैंने यहां कुछ गलत समझा है, क्या कोई स्पष्टीकरण दे सकता है?

उत्तर

4

मुझे लगता है कि @dystroy के पास एक बिंदु है, लेकिन जो कुछ मैं ढूंढ रहा था वह नहीं। इस जवाब में भी मदद मिली। https://stackoverflow.com/a/4851237/830431

अब मैं समझता हूं कि डेटा भेजने की रोकथाम के साथ कुछ भी नहीं करना है, और अनधिकृत कार्यों को रोकने के साथ और कुछ करना है।

उदाहरण के लिए: जिस साइट पर आप लॉग इन हैं (उदा। सोशल नेटवर्क या बैंक) में आपके ब्राउज़र के साथ एक विश्वसनीय सत्र खुल सकता है। यदि आप एक डोडी साइट पर जाते हैं, तो वे उन साइट्स का उपयोग करके क्रॉस साइट स्क्रिप्टिंग हमले करने में सक्षम नहीं होंगे, जिन्हें आप लॉग इन हैं (उदाहरण के लिए स्पैममी स्टेटस अपडेट पोस्ट करें, व्यक्तिगत विवरण प्राप्त करें, या अपने खाते से धन हस्तांतरण करें) क्रॉस डोमेन प्रतिबंध नीति। एकमात्र तरीका यह है कि वे उस क्रॉस साइट स्क्रिप्टिंग हमले को करने में सक्षम होंगे, यदि ब्राउज़र में क्रॉस साइट प्रतिबंध सक्षम नहीं था, या यदि सोशल नेटवर्क या बैंक ने अविश्वसनीय डोमेन से अनुरोध शामिल करने के लिए सीओआरएस लागू किया था।

यदि कोई साइट (जैसे बैंक या सोशल नेटवर्क) सीओआरएस को लागू करने का निर्णय लेती है, तो उन्हें यह सुनिश्चित करना चाहिए कि यह अनधिकृत कार्रवाइयों या अनधिकृत डेटा को पुनर्प्राप्त नहीं किया जा सकता है, लेकिन कुछ समाचार वेबसाइट सामग्री एपीआई या याहू पाइप *

3

आप "*" से अधिक सटीक मूल फ़िल्टर सेट कर सकते हैं।

यदि आप अपने विशिष्ट पृष्ठ को दूसरे पृष्ठ में शामिल करने का निर्णय लेते हैं, तो इसका मतलब है कि आप परिणामों को संभालेंगे।

लेकिन मुख्य समस्या यह नहीं हो सकती कि सर्वर अजीब डेटा प्राप्त कर सकता है: यह कुछ भी नया नहीं है: सर्वर द्वारा प्राप्त की जाने वाली सभी चीज़ों पर संदेह है। सुरक्षा मुख्य रूप से उस उपयोगकर्ता के लिए होती है जिसका स्रोतों की असामान्य संरचना (उदाहरण के लिए englobed डेटा पढ़ने में सक्षम होने वाला englobing) द्वारा दुर्व्यवहार नहीं किया जा सकता है। तो यदि आप किसी पृष्ठ के लिए सभी उत्पत्तियों को अनुमति देते हैं, तो उस डेटा के अंदर न रखें जिसे आप केवल अपने उपयोगकर्ता के साथ साझा करना चाहते हैं।

+0

पर CORS को सक्षम करके खोने के लिए कुछ भी नहीं है englobing क्या है? – Grezzo

+0

मेरा मतलब शामिल था। मेरी खराब इंग्लिश के लिए माफ़ कीजिये। –