2011-06-05 18 views
5

(और यदि नहीं, तो क्या यह वास्तव में क्लाइंट साइड सुरक्षा में सुधार करता है?)क्लाइंट साइड सुरक्षा के संबंध में, क्या सीओआरएस समान-मूल-नीति को बदलने के अलावा कुछ भी करता है?

मैं उस मामले के बारे में सोच रहा हूं जहां सर्वर एक्स से एक स्क्रिप्ट सर्वर वाई (जो सीओआरएस का समर्थन करती है) से अविश्वसनीय कोड प्राप्त करने और चलाने के लिए XHR का उपयोग करती है।

+1

स्क्रिप्ट स्वयं क्रॉस-डोमेन प्रतिबंधों के अधीन नहीं हैं। उदाहरण के लिए, डोमेन एक्स से एक स्क्रिप्ट डोमेन वाई से एक स्क्रिप्ट शामिल कर सकते हैं, और कोड निष्पादित होगा। यह एक नियमित स्क्रिप्ट टैग के साथ किया जा सकता है, जिसमें कोई सीओआरएस नहीं है। – monsur

+0

मुझे इस बारे में पता है, मुझे नहीं लगता कि यह – adam77

उत्तर

5

मैं CORS का उपयोग नहीं करते सब पर सुरक्षा में सुधार करने के लिए (जाहिर है अविश्वस्त कोड का मूल्यांकन बुरा ™ है)। मैं एक अलग डोमेन पर ज्ञात webservice तक पहुंचने के लिए सीओआरएस का उपयोग करता हूं जिसे मुझे सीओआरएस के बिना एक्सेस करने की अनुमति नहीं दी जाएगी। मेरी राय में सुरक्षा में सुधार करने के लिए कुछ भी नहीं, लेकिन एक डोमेन से डेटा को दूसरे को सौंपने की अनुमति देना।

+1

पर सवाल का जवाब देने में मदद करता है हां यह मैंने माना है, लेकिन इसे किसी तरह के सुरक्षा सुधार के रूप में बंद कर दिया गया है, इसलिए मुझे गलत विचार मिला, धन्यवाद। तो कोर-कोर के लिए समान-मूल-नीति कम या ज्यादा अनावश्यक है? – adam77

+4

सीओआरएस आपके और आपके डेटा सर्वर के लिए संवाद करने में सक्षम होने के लिए है। वही मूल नीति अभी भी किसी भी सर्वर पर लागू होती है जो सीओआरएस लागू नहीं करती है। मुझे लगता है कि आपका क्या मतलब है कि बुरे लोग * के डोमेन के साथ सीओआरएस को कार्यान्वित कर सकते हैं जो किसी भी डोमेन को अपना डेटा प्राप्त करने की अनुमति देगा ... – mplungjan

5

CORS के बारे में सुरक्षा सख्त, यह के बारे में कमजोर यह (लेकिन केवल सर्वर से अनुमति के साथ कुछ शर्तों के अधीन) है नहीं है।

यदि आप एजेक्स अनुरोध में किसी अन्य सर्वर से कुछ एक्सेस करना चाहते हैं, तो सीओआरएस के बिना, आपको "सुरक्षा" (समान मूल नीति) के कारण अनुमति नहीं है, और यह इसका अंत है *। सीओआरएस के साथ, दूसरा सर्वर उस सुरक्षा बाधा को कम करने की अनुमति दे सकता है।

* JSONP तरह हैक्स के अलावा, लेकिन यह है कि यह भी सर्वर

+0

क्या आप मेरे मूल प्रश्न के लिए हाँ या नहीं दे रहे हैं? – adam77

+0

@ adam77 आपके मूल प्रश्न का उत्तर यह है कि सीओआरएस क्लाइंट साइड सुरक्षा से संबंधित कुछ भी नहीं करता है, कम से कम जहां तक ​​मैं उस वाक्यांश को समझता हूं। वही मूल नीति तृतीय पक्ष सेवाओं के खिलाफ सेवा हमलों के छोटे ब्राउज़र आधारित अस्वीकार को रोकती है। सीओआरएस एक तृतीय पक्ष सर्वर को ब्राउज़र को सूचित करने की अनुमति देता है कि उसे उस सुरक्षा की आवश्यकता नहीं है। – rjmunro

1

CORS से अनुमति की आवश्यकता है एक ही मूल नीति बाधित, लेकिन चुनिंदा तो। उदाहरण के लिए एक बैंक वेबसाइट डोमेन बिल्कुल सीओआरएस हेडर सेट नहीं करेगा (समान प्रभाव को समान प्रभाव में रखने के लिए) क्योंकि अन्य डोमेन से डाउनलोड की गई कोई भी जावास्क्रिप्ट बैंक को AJAX अनुरोध नहीं करनी चाहिए (या हो सकता है कि वे केवल एक साझेदार साइट को भरोसा दें)। एक सीडीएन शायद एक्सेस-कंट्रोल-ऑब्जेक्ट-ऑरिजन "*" सेट करेगा क्योंकि यह किसी अन्य डोमेन से डाउनलोड की गई जावास्क्रिप्ट को सीडीएन में AJAX अनुरोध करने पर कोई परवाह नहीं करता है।

+0

इसलिए यह एक (चुनिंदा) सुरक्षा की कमजोर है। – adam77

+2

यदि वही मूल नीति ने कहा है कि आप कभी भी अपने अपार्टमेंट के दरवाजे को नहीं खोलेंगे तो कॉर्र्स का कहना है कि हम पिज्जा लड़के के लिए अपवाद कर सकते हैं। – Ryan