it-swarm.asia

لماذا تظهر لي فجأة مشكلة "حظر المحتوى المختلط المختلط النشط" في Firefox؟

هذا الصباح ، عند ترقية مستعرض Firefox إلى أحدث إصدار (من 22 إلى 23) ، توقفت بعض الجوانب الرئيسية لمكتبي الخلفي (موقع الويب) عن العمل.

بالنظر إلى سجل Firebug ، تم الإبلاغ عن الأخطاء التالية:

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"`

من بين الأخطاء الأخرى الناجمة عن الأخير من الاثنين أعلاه لا يتم تحميل.

ماذا يعني ما ورد أعلاه وكيف يمكنني حلها؟

329
Appulus

لقد وجدت هذا بلوق وظيفة الذي مسح بعض الأشياء. اقتباس الاقتباس الأكثر صلة:

المحتوى النشط المختلط محظور الآن بشكل افتراضي في Firefox 23!

ما هو المحتوى المختلط؟
عندما يزور أحد المستخدمين صفحة يتم عرضها عبر HTTP ، يكون اتصالهم مفتوحًا للتنصت وهجمات الرجل المتوسط ​​(MITM). عندما يزور أحد المستخدمين صفحة يتم تقديمها عبر HTTPS ، تتم المصادقة على اتصالهم بخادم الويب وتشفيره باستخدام طبقة المقابس الآمنة (SSL) وبالتالي يتم حمايته من أجهزة التنصت وهجمات MITM.

ومع ذلك ، إذا كانت صفحة HTTPS تتضمن محتوى HTTP ، فيمكن للمهاجمين قراءة جزء HTTP أو تعديله ، على الرغم من أن الصفحة الرئيسية يتم عرضها على HTTPS. عندما تحتوي صفحة HTTPS على محتوى HTTP ، فإننا نسمي هذا المحتوى "مختلط". يتم تشفير صفحة الويب التي يزورها المستخدم جزئيًا فقط ، حيث يتم استرداد بعض المحتوى بدون تشفير عبر HTTP. يقوم Block Content Blocker بحظر طلبات HTTP معينة على صفحات HTTPS.

كان القرار ، في حالتي ، هو التأكد ببساطة من أن jquery يتضمن ما يلي (لاحظ إزالة البروتوكول):

<link rel="stylesheet" href="//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>

لاحظ أن "الإصلاح" المؤقت هو النقر على أيقونة "الدرع" في الزاوية العلوية اليمنى من شريط العناوين وتحديد "تعطيل الحماية في هذه الصفحة" ، على الرغم من أن هذا هو لا مستحسن لاسباب واضحة.

UPDATE: هذا الرابط من صفحات دعم Firefox (Mozilla) مفيد أيضًا في شرح المحتوى الذي يشكل محتوى مختلطًا ، كما هو موضح في الفقرة أعلاه ، يقدم بالفعل تفاصيل عن كيفية عرض الصفحة بغض النظر:

ستستمر معظم مواقع الويب في العمل بشكل طبيعي دون أي إجراء من جانبك.

إذا كنت بحاجة إلى السماح بعرض المحتوى المختلط ، يمكنك القيام بذلك بسهولة:

انقر أيقونة shield Mixed Content Shield في شريط العناوين واختر Disable Protection في هذه الصفحة من القائمة المنسدلة.

سوف يتغير الرمز الموجود في شريط العناوين إلى مثلث تحذير برتقالي "رمز هوية التحذير" لتذكيرك بأنه يتم عرض محتوى غير آمن.

لإعادة الإجراء السابق (إعادة حظر المحتوى المختلط) ، ما عليك سوى إعادة تحميل الصفحة.

397
Appulus

هذا يعني أنك تتصل بـ http من https. يمكنك استخدام src="//url.to/script.js" في علامة البرنامج النصي وسوف تكتشفه تلقائيًا.

بالتناوب ، يمكنك استخدام https في src حتى إذا كنت ستنشره على صفحة http. هذا سوف تجنب المشكلة المحتملة المذكورة في التعليقات.

126
Alain Jacomet Forte

في غياب ميزة القائمة البيضاء ، يتعين عليك اختيار الخيار "الكل" أو "لا شيء". يمكنك تعطيل حظر المحتوى المختلط بالكامل.


خيار لا شيء

ستحتاج إلى تعطيل حظر المحتوى المختلط نهائيًا لملف التعريف النشط الحالي.

في شريط "Awesome Bar" ، اكتب "about: config". إذا كانت هذه هي المرة الأولى التي تحصل فيها على "هذا قد يلغي الضمان الخاص بك!" رسالة.

نعم سوف تكون حذرا. نعم انت تعد!

بحث security.mixed_content.block_active_content . عيّن قيمته إلى خطأ .


الاختيار الأول

iDevelApp إجابة رائع.

50
DRaehal

إذا كنت تريد السماح بطلب المحتوى المختلط ، فأضف العلامة أدناه إلى<head>/.

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

إذا كنت تريد حظره ، فقم بإضافة العلامة أدناه في<head>العلامة:

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

إذا كنت تستهلك خدمة داخلية عبر AJAX ، فتأكد من أن عنوان url يشير إلى https ، مما أدى إلى مسح الخطأ لي.

الأولي AJAX URL: " http://XXXXXX.com/Core.svc/ " + ApiName
مصحح AJAX URL: " https://XXXXXX.com/Core.svc/ " + ApiName ،

10
Bryan Cote-Chang

نظرا للخطأ بسبب الأمن. لهذا الرجاء استخدام "https" وليس "http" في عنوان URL لموقع الويب.

فمثلا :

   "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"
9
Amit Naraniwal

في الصفحة ذات الصلة التي تجعل محتوى مختلط https إلى http call غير قابل للوصول ، يمكننا إضافة الإدخال التالي في المحتوى ذي الصلة والتخلص من خطأ المحتوى المختلط.

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

واجهت نفس المشكلة لأنني اشتريت قالب CSS وأمسك ملف javascript ملف javascript خارجي من خلال http://whatever.js.com/javascript.js. ذهبت إلى تلك الصفحة في المتصفح الخاص بي ، ثم قمت بتغييرها إلى https://whatever... باستخدام طبقة مآخذ توصيل آمنة (SSL) وعملت ، لذا في علامة جافا سكريبت HTML الخاصة بي ، قمت بتغيير عنوان URL فقط لاستخدام https بدلاً من http وقد عملت.

4
Edmund

لفرض إعادة التوجيه على بروتوكول https ، يمكنك أيضًا إضافة هذا التوجيه في .htaccess على المجلد الجذر

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

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

أواجه نفس المشكلة عندما ينتقل موقعي من http إلى https. لقد أضفنا قاعدة لكل طلب لإعادة توجيه http إلى https.

تحتاج إلى إضافة قاعدة إعادة التوجيه لطلب inter site ، ولكن عليك إزالة قاعدة إعادة التوجيه js/css الخارجية.

2
tapas talukder

Blender التعليق هو أفضل نهج. لا تقم أبدًا بتشفير البروتوكول في أي مكان في الشفرة ، حيث سيكون من الصعب تغييره إذا انتقلت من http إلى https. لأنك تحتاج إلى تحرير وتحديث جميع الملفات يدويا.

هذا أفضل دائمًا لأنه يكتشف البروتوكول تلقائيًا.

src="//code.jquery.com
2
Krishnadas PC

لقد وجدت أنه إذا كانت لديك مشكلات في تضمين أو مزج صفحتك بشيء مثل http : //www.example.com ، فيمكنك إصلاح ذلك عن طريق وضع // www . example.com بدلاً من ذلك

1
irene salomo