सीओआरएस Same Origin Policy को डोमेन के लिए आराम करने की अनुमति देता है।
उदा। आम तौर पर यदि उपयोगकर्ता example.com
और example.org
दोनों में लॉग इन करता है, वही उत्पत्ति नीति example.com
को example.org/current_user/full_user_details
पर AJAX अनुरोध करने और प्रतिक्रिया तक पहुंच प्राप्त करने से रोकती है।
यह वेब की डिफ़ॉल्ट नीति है और एक ही समय में कई साइटों में लॉग इन होने पर उपयोगकर्ता के डेटा को लीक होने से रोकती है।
अब सीओआरएस के साथ, example.org
यह कहने के लिए नीति सेट कर सकता है कि यह AJAX द्वारा किए गए प्रतिक्रियाओं को पढ़ने के लिए मूल https://example.com
की अनुमति देगा। यह किया जाएगा यदि example.com
और example.org
दोनों एक ही कंपनी द्वारा चलाए जाते हैं और मूल के बीच डेटा साझाकरण उपयोगकर्ता के ब्राउज़र में अनुमति दी जाती है। यह केवल चीजों के क्लाइंट-साइड को प्रभावित करता है, न कि सर्वर-साइड।
दूसरी ओर सीएसपी वर्तमान नीति पर कौन सी सामग्री चला सकता है इसकी एक नीति निर्धारित करता है। उदाहरण के लिए, यदि जावास्क्रिप्ट को इनलाइन निष्पादित किया जा सकता है, या कौन से डोमेन .js
फ़ाइलों को लोड किया जा सकता है। यह XSS हमलों के खिलाफ रक्षा की एक और पंक्ति के रूप में कार्य करने के लिए फायदेमंद हो सकता है, जहां हमलावर HTML पृष्ठ में स्क्रिप्ट को आज़माएगा और इंजेक्ट करेगा। आम तौर पर output would be encoded, हालांकि, डेवलपर केवल एक आउटपुट फ़ील्ड पर भूल गया था। चूंकि पॉलिसी इन-लाइन स्क्रिप्ट को निष्पादित करने से रोक रही है, इसलिए हमला विफल हो गया है।
बहुत उपयोगी उत्तर के लिए धन्यवाद (मैंने ऊपर उठाया लेकिन मेरा प्रतिनिधि गिनने के लिए कम है)। एकमात्र हिस्सा मैं काफी अनुवर्ती नहीं था "आम तौर पर आउटपुट एन्कोड किया जाएगा"। शायद यह दूसरों की मदद करेगा यदि आप इसे थोड़ा सा स्पष्ट कर सकते हैं? – nickform
निश्चित रूप से। मैंने इस बिट को समझाने के लिए एक और जवाब से जुड़ा हुआ है। अगर आपको किसी और स्पष्टीकरण की आवश्यकता है तो कृपया मुझे बताएं। – SilverlightFox
हां, धन्यवाद - मैं अब का पालन करता हूं। – nickform