संदर्भ: Prevent HTTP Basic Authentication from displaying prompt for imagesअंक छवियों
आदेश में इस संभावित "शोषण", मैं सभी [img]
BBCodes के लिए crossorigin="anonymous"
जोड़ा से मेरे उपयोगकर्ता द्वारा निर्मित सामग्री की रक्षा के लिए।
ठीक है, यह आईई 11 में काम करता है: जब मैंने शोषण का परीक्षण किया, तब छवि ने प्रमाणीकरण संवाद (कैश अक्षम और अच्छे माप के लिए अलग-अलग यूआरएल के साथ परीक्षण) को ट्रिगर नहीं किया।
लेकिन क्रोम में, शोषण काम नहीं करता है ... क्योंकि छवियों को बिल्कुल लोड नहीं किया जा रहा है। इसके बजाय मैं जाहिरा तौर पर काफी आम त्रुटि हो रही है:
Image from origin 'XXXXX' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'YYYYY' is therefore not allowed access.
हो सकता है कि मेरी समझ गलत है, लेकिन मैंने सोचा कि विशेषता का "anonymous"
मूल्य यह काम करने की अनुमति होगी।
क्या मुझे कुछ याद आ रहा है, और यदि ऐसा है तो इस मुद्दे के खिलाफ सुरक्षा के लिए अन्य विकल्प क्या हैं?
मुख्य मुद्दा जो मैंने हाल ही में किया है, यह नहीं है कि "हैक" विफल रहता है, बल्कि यह कि क्रोम सभी छवियों को पूरी तरह से अवरुद्ध करता है, उनके पास एक्सेस-कंट्रोल हेडर नहीं है। 'Crossorigin =" अज्ञात "विशेषता को हटाने से छवियां फिर से काम करती हैं, लेकिन हैक को भेद्यता बहाल कर देती है। –
हां। मुझे यकीन नहीं है कि क्या मैं स्पष्ट रूप से संवाद करने में सक्षम नहीं हूं, लेकिन, जो आप कह रहे हैं वह अपेक्षित व्यवहार है। – bozzmob
बोज्मोब अच्छा स्पष्टीकरण! और @NiettheDarkAbsol, हां, क्रोम सभी छवियों को अवरुद्ध कर देगा यदि आप एक्सेस-कंट्रोल हेडर नहीं भेजते हैं क्योंकि क्रोम विश्वास करने की स्थिति में नहीं होगा यदि उपयोगकर्ता अनुरोध वास्तविक है या नहीं। इस तरह अभिगम नियंत्रण तंत्र काम करता है। –