फ़ायरफ़ॉक्स में मुझे अचानक "ब्लॉक की गई लोडिंग मिश्रित सक्रिय सामग्री" समस्या क्यों हो रही है?


350

आज सुबह, मेरे फ़ायरफ़ॉक्स ब्राउज़र को नवीनतम संस्करण (22 से 23 तक) में अपग्रेड करने पर, मेरे बैक ऑफिस (वेबसाइट) के कुछ प्रमुख पहलुओं ने काम करना बंद कर दिया।

फायरबग लॉग को देखते हुए, निम्नलिखित त्रुटियां बताई जा रही थीं:

Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`

ऊपर दिए गए दो के बाद की अन्य त्रुटियों के कारण लोड नहीं किया जा रहा है।

उपरोक्त का क्या मतलब है और मैं इसे कैसे हल करूं?


अरे मैंने केवल करने से हल किया है: googl.com/maps with //www.googl.com/maps यह सामग्री को अवरुद्ध किए बिना काम करेगा
राम बलवाड़

ई-कॉमर्स लिंक मर चुका है (त्रुटि - आपके द्वारा अनुरोधित पृष्ठ नहीं मिल सका)
सोइल - मैथ्यू प्रेवोट

जवाबों:


417

मुझे यह ब्लॉग पोस्ट मिला जिसने कुछ चीजों को मंजूरी दी। सबसे अधिक प्रासंगिक बिट उद्धृत करने के लिए:

मिश्रित सक्रिय सामग्री अब फ़ायरफ़ॉक्स 23 में डिफ़ॉल्ट रूप से अवरुद्ध है!

मिश्रित सामग्री क्या है?
जब कोई उपयोगकर्ता HTTP पर दिए गए पृष्ठ पर जाता है, तो उनका कनेक्शन ईव्सड्रॉपिंग और मैन-इन-बीच (MITM) हमलों के लिए खुला होता है। जब कोई उपयोगकर्ता HTTPS से अधिक पृष्ठ पर जाता है, तो वेब सर्वर के साथ उनका कनेक्शन एसएसएल के साथ प्रमाणित और एन्क्रिप्ट किया जाता है और इसलिए ईव्सड्रॉपर और MITM हमलों से सुरक्षित रहता है।

हालाँकि, यदि किसी HTTPS पेज में HTTP कंटेंट शामिल है, तो HTTP भाग को हमलावरों द्वारा पढ़ा या संशोधित किया जा सकता है, भले ही HTTPS पर मुख्य पृष्ठ परोसा गया हो। जब HTTPS पृष्ठ में HTTP सामग्री होती है, तो हम उस सामग्री को "मिश्रित" कहते हैं। उपयोगकर्ता जिस वेबपृष्ठ पर जा रहा है वह केवल आंशिक रूप से एन्क्रिप्ट किया गया है, क्योंकि कुछ सामग्री HTTP पर अनएन्क्रिप्टेड पुनर्प्राप्त की जाती है। मिश्रित सामग्री अवरोधक HTTPS पृष्ठों पर कुछ HTTP अनुरोधों को अवरुद्ध करता है।

रिज़ॉल्यूशन, मेरे मामले में, केवल यह सुनिश्चित करना jqueryथा कि निम्न शामिल थे (प्रोटोकॉल को हटाने पर ध्यान दें):

<link rel="stylesheet" href="https://stackoverflow.com//code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" type="text/css">
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"></script>

ध्यान दें कि अस्थायी 'फिक्स' एड्रेस बार के ऊपरी-बाएँ कोने में 'शील्ड' आइकन पर क्लिक करना है और 'इस पृष्ठ पर सुरक्षा अक्षम करें' का चयन करें, हालांकि यह स्पष्ट कारणों के लिए अनुशंसित नहीं है।

अद्यतन: फ़ायरफ़ॉक्स (मोज़िला) समर्थन पृष्ठों से यह लिंक यह समझाने में भी उपयोगी है कि मिश्रित सामग्री क्या है और, जैसा कि ऊपर दिए गए पैराग्राफ में दिया गया है, वास्तव में इस बात का विवरण प्रदान करता है कि पेज को बिना प्रदर्शित किए कैसे दिखाया जाए:

अधिकांश वेबसाइटें आपकी ओर से बिना किसी कार्रवाई के सामान्य रूप से काम करना जारी रखेंगी।

यदि आपको मिश्रित सामग्री को प्रदर्शित करने की अनुमति देने की आवश्यकता है, तो आप इसे आसानी से कर सकते हैं:

एड्रेस बार में शील्ड आइकन मिक्स्ड कंटेंट शील्ड पर क्लिक करें और ड्रॉपडाउन मेनू से इस पेज पर डिसेबल प्रोटेक्शन चुनें।

एड्रेस बार में आइकन एक नारंगी चेतावनी त्रिकोण चेतावनी आइडेंटिटी आइकन में बदल जाएगा ताकि आपको याद दिलाया जा सके कि असुरक्षित सामग्री प्रदर्शित की जा रही है।

पिछली कार्रवाई (मिश्रित सामग्री को फिर से अवरुद्ध) करने के लिए, बस पृष्ठ को पुनः लोड करें।


82
एक बेहतर तरीका यह होगा कि आप प्रोटोकॉल को पूरी तरह से हटा दें src="//code.jquery.com...। ब्राउज़र उस प्रोटोकॉल का उपयोग करेगा, जिसके साथ पृष्ठ लोड किया गया था।
ब्लेंडर

17
ओह यार! एफएफ देव टीम ने खुद को इस पैर में गोली मार ली - शांत विचार, पूरी तरह से अनियंत्रित कार्यान्वयन। पृष्ठों को अक्षम करने के लिए कोई दृढ़ता नहीं, और कोई श्वेतसूची नहीं! (जब आप जानते हैं और मिश्रित सामग्री वाली साइट पर भरोसा करते हैं)
राड

6
@ राॅड आप केवल मिश्रित सामग्री वाली साइट पर भरोसा नहीं कर सकते। जबकि साइट स्वामी निर्दोष हो सकते हैं, http अनुरोध को ले जाने वाले सभी राउटर नहीं हो सकते हैं। मैं साइट मालिकों के लिए एक बग रिपोर्ट दर्ज करूंगा।
अल्फा-माउस

6
@ राॅड और वे सैकड़ों यदि हजारों साइटें हेडर को उजागर करने की प्रक्रिया में नहीं हैं जिनमें व्यक्तिगत रूप से पहचान योग्य जानकारी शामिल हो सकती है जिसका मतलब एक एसएसएल कनेक्शन के साथ एन्क्रिप्ट किया जाना है ... स्पष्ट रूप से, मैं इसमें एफएफ देव टीम को गैर-जिम्मेदार संस्था के रूप में नहीं देखता हूं बात ...
असीमिलाटर

3
बेहद निराशा होती है जब यह पूरी तरह से हानिरहित कार्यों को रोक रहा है। झिप की बात! मेरे पास एक प्लगइन है जो आपके द्वारा एक पते के रूप में दर्ज किए गए ज़िप कोड के शहर और राज्य को देखने के लिए Ziptastic का उपयोग करता है। यह प्लगिन टूट गया है: सभी जो मैं करना चाहता हूं वह एक छोटे JSON ऑब्जेक्ट को हथियाने के लिए एक आरामदायक एपीआई का उपयोग करना है - कोई पासा नहीं। यह ब्राउज़र सुरक्षा का TSA है! बकवास के लिए हमारी पैंट वापस आ गई है!
क्रिस बेकर

137

इसका मतलब है कि आप http से https कह रहे हैं। आप src="//url.to/script.js"अपने स्क्रिप्ट टैग में उपयोग कर सकते हैं और यह ऑटो-डिटेक्ट करेगा।

वैकल्पिक रूप से आप अपने https का उपयोग कर सकते हैं srcभले ही आप इसे http पृष्ठ पर प्रकाशित कर रहे हों। यह टिप्पणियों में उल्लिखित संभावित मुद्दे से बच जाएगा।


1
बस एक नोट, अगर एक स्थानीय रूप से संग्रहीत वेबपेज पर उपयोग किया जाता है, तो यह ब्राउज़र को स्क्रिप्ट के लिए फलहीन रूप से खोज करने का कारण हो सकता है, पेज लोड करने में काफी देरी कर सकता है
बाइनरीफंट

52

श्वेत-सूची सुविधा के अभाव में आपको "सभी" या "कुछ नहीं" विकल्प बनाना होगा। आप मिश्रित सामग्री अवरुद्ध को पूरी तरह से अक्षम कर सकते हैं।


कुछ भी नहीं विकल्प

आपको वर्तमान सक्रिय प्रोफ़ाइल के लिए मिश्रित सामग्री अवरुद्ध को स्थायी रूप से अक्षम करने की आवश्यकता होगी।

"विस्मयकारी बार" में "टाइप" के बारे में: कॉन्फ़िगरेशन। यदि यह आपकी पहली बार है, तो आपको "यह आपकी वारंटी को शून्य कर सकता है!" संदेश।

हां आप सावधान हो जाएंगे। हाँ तुम वादा करो!

सुरक्षा पाएं । Pmed_content.block_active_content । इसके मूल्य को असत्य पर सेट करें ।


ऑल चॉइस

iDevelApp का जवाब बहुत बढ़िया है।


1
क्या आप क्रोम पर मिश्रित सामग्री को सक्षम करना जानते हैं?
फैजान

1
@ फैजान: इस उत्तर से : "सही छोर पर पता बार में 'ढाल' आइकन होना चाहिए, आप उस पर क्लिक करके असुरक्षित सामग्री चला सकते हैं।"
जुगल

27

सुरक्षित दस्तावेज़ (https) के लिए असुरक्षित कनेक्शन (http) को बदलने के लिए ब्राउज़र को मजबूर करने के लिए अपने दस्तावेज़ <meta>के <head>अनुभाग में नीचे टैग डालें । यदि कनेक्शन https का उपयोग करने में सक्षम है, तो यह मिश्रित सामग्री समस्या को हल कर सकता है।

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

अगर आप ब्लॉक करना चाहते हैं तो नीचे दिए गए टैग को टैग में जोड़ें <head>:

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">

1
क्रोम में काम नहीं करता है? फ़ायरफ़ॉक्स में काम किया। upgrade-insecure-requestshttp tp https कॉल्स को अपग्रेड करने के लिए लगता है।
अनिकेत ठाकुर

1
क्या यह एक बुरा विचार है? क्या कोई कारण नहीं है कि सुरक्षा नीति मौजूद है?
medley56

12

यदि आप AJAX के माध्यम से आंतरिक सेवा का उपभोग कर रहे हैं, तो सुनिश्चित करें कि url, https को इंगित करता है, इससे मेरे लिए त्रुटि साफ हो गई।

आरंभिक AJAX URL: " http://XXXXXX.com/Core.svc/ " + ApiName
सही AJAX URL: " https://XXXXXX.com/Core.svc/ " + ApiName,


10

सुरक्षा के कारण यह त्रुटि दी गई। इसके लिए कृपया वेबसाइट यूआरएल में "https" नहीं "http" का उपयोग करें।

उदाहरण के लिए :

   "https://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
   "https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"

7

प्रासंगिक पेज में जो मिश्रित सामग्री को http कॉल http कॉल करता है जो कि सुलभ नहीं है हम संबंधित में निम्नलिखित प्रविष्टि जोड़ सकते हैं और मिश्रित सामग्री त्रुटि से छुटकारा पा सकते हैं।

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

5

मुझे यही समस्या थी क्योंकि मैंने एक CSS टेम्पलेट खरीदा था और इसने एक जावास्क्रिप्ट को एक बाहरी जावास्क्रिप्ट फ़ाइल के माध्यम से पकड़ा http://whatever.js.com/javascript.js। मैं अपने ब्राउज़र में उस पृष्ठ पर गया और फिर इसे https://whatever...SSL का उपयोग करने के लिए बदल दिया और इसने काम किया, इसलिए अपने HTML जावास्क्रिप्ट टैग में मैंने httpsइसके बजाय उपयोग करने के लिए URL को बदल दिया httpऔर यह काम कर गया।


4

Https प्रोटोकॉल पर रीडायरेक्ट करने के लिए, आप इस निर्देश को .htaccess को रूट फ़ोल्डर में भी जोड़ सकते हैं

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

3

@ ब्लेंडर टिप्पणी सबसे अच्छा तरीका है। कभी कठिन कोड कोड में प्रोटोकॉल कहीं भी रूप में यह अगर तुम से स्थानांतरित बदलने के लिए कठिन हो जाएगा httpकरने के लिए https। चूंकि आपको सभी फ़ाइलों को मैन्युअल रूप से संपादित और अपडेट करने की आवश्यकता है।

यह हमेशा बेहतर होता है क्योंकि यह स्वचालित रूप से प्रोटोकॉल का पता लगाता है।

src="//code.jquery.com

2

मैंने पाया कि अगर आपके पास http : //www.example.com जैसी किसी चीज़ के साथ अपने पेज को शामिल करने या मिश्रण करने की समस्या है, तो आप इसके बजाय // www .example.com डालकर ठीक कर सकते हैं।


यह मेरे लिए काम किया, धन्यवाद। क्या आप मुझे समझा सकते हैं कि क्या हो रहा है?
मंटेज सिंह

2

मुझे उसी समस्या का सामना करना पड़ रहा है जब मेरी साइट http से https पर जाती है। हमने http से https पर पुनर्निर्देशित करने के सभी अनुरोधों के लिए नियम जोड़ दिया है।

आपको अंतर साइट अनुरोध के लिए पुनर्निर्देशन नियम जोड़ने की आवश्यकता है, लेकिन आपको बाहरी js / css के लिए पुनर्निर्देशन नियम को हटाना होगा।


0

मैंने हेडर में निम्न कोड जोड़कर इस समस्या को ठीक किया:

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

-9

यदि आपका ऐप सर्वर वेबलॉजिक है, तो सुनिश्चित करें कि वेबसर्वर की निर्देशिका में weblogic.conf फ़ाइल में WLProxySSL ON प्रविष्टि मौजूद है (और यह भी टिप्पणी नहीं की जानी चाहिए)। फिर वेब सर्वर को पुनरारंभ करें, यह काम करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.