Neden birdenbire Firefox'ta "Karma aktif içeriği yüklemeyi engelledi" sorunu alıyorum?


350

Bu sabah, Firefox tarayıcımı en son sürüme (22'den 23'e) yükselttikten sonra, arka ofisimin (web sitesinin) bazı önemli özellikleri çalışmayı durdurdu.

Firebug günlüğüne bakıldığında aşağıdaki hatalar bildiriliyordu:

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

yukarıdaki ikisinin yüklenmemesinden kaynaklanan diğer hataların yanı sıra.

Yukarıdakiler ne anlama geliyor ve nasıl çözebilirim?


Hey Sadece şunu yaparak çözdüm : //www.googl.com/maps ile googl.com/maps İçeriği engellemeden çalışacak
Ram Balwad

e-ticaret bağlantısı öldü (Hata - İstediğiniz sayfa bulunamadı)
Soleil - Mathieu Prévot

Yanıtlar:


417

Birkaç şeyi temizleyen bu blog gönderisini buldum . En alakalı biti alıntılamak için:

Firefox 23'te Karışık Aktif İçerik artık varsayılan olarak engellendi!

Karma İçerik nedir?
Bir kullanıcı HTTP üzerinden sunulan bir sayfayı ziyaret ettiğinde, bağlantısı gizli dinleme ve ortadaki adam (MITM) saldırılarına açıktır. Bir kullanıcı HTTPS üzerinden sunulan bir sayfayı ziyaret ettiğinde, web sunucusuyla olan bağlantısının kimliği doğrulanır ve SSL ile şifrelenir ve bu nedenle kulak misafiri ve MITM saldırılarına karşı korunur.

Ancak, bir HTTPS sayfası HTTP içeriği içeriyorsa, ana sayfa HTTPS üzerinden sunulmasına rağmen HTTP bölümü saldırganlar tarafından okunabilir veya değiştirilebilir. Bir HTTPS sayfası HTTP içeriğine sahip olduğunda, bu içeriğe "karışık" diyoruz. Kullanıcının ziyaret ettiği web sayfası yalnızca kısmen şifrelenir, çünkü içeriğin bir kısmı HTTP üzerinden şifrelenmemiş olarak alınır. Karma İçerik Engelleyici, HTTPS sayfalarındaki belirli HTTP isteklerini engeller.

Benim durumumdaki çözüm, içerilenlerin jqueryaşağıdaki gibi olduğundan emin olmaktı (protokolün kaldırıldığına dikkat edin):

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

Geçici 'düzeltme'nin, adres çubuğunun sol üst köşesindeki' kalkan 'simgesini tıklamak ve belirgin nedenlerle önerilmese de ' Bu Sayfada Korumayı Devre Dışı Bırak 'seçeneğini seçmek olduğunu unutmayın .

GÜNCELLEME: Firefox (Mozilla) destek sayfalarındaki bu bağlantı , karışık içeriği neyin oluşturduğunu açıklamak için de yararlıdır ve yukarıdaki paragrafta verildiği gibi, aslında sayfanın nasıl görüntüleneceğine ilişkin ayrıntıları sağlar:

Çoğu web sitesi, herhangi bir işlem yapmadan normal şekilde çalışmaya devam edecektir.

Karışık içeriğin görüntülenmesine izin vermeniz gerekiyorsa, bunu kolayca yapabilirsiniz:

Adres çubuğundaki kalkan simgesini Karışık İçerik Kalkanı'nı tıklayın ve açılır menüden Bu Sayfada Korumayı Devre Dışı Bırak'ı seçin.

Adres çubuğundaki simge, güvenli olmayan içeriğin görüntülendiğini hatırlatmak için turuncu bir uyarı üçgeni Uyarı Kimlik Simgesine dönüşecektir.

Önceki işlemi geri almak (karışık içeriği yeniden engellemek) için sayfayı yeniden yüklemeniz yeterlidir.


82
Daha iyi bir yaklaşım sadece tamamen protokolü kaldırmak olacaktır: src="//code.jquery.com.... Tarayıcı, sayfanın yüklendiği protokolü kullanır.
Blender

17
Ah adamım! FF Dev Team, bu harika fikir, tamamen soğuk uygulama ile ayağa kalktı. Sayfaları devre dışı bırakmak için kalıcılık ve beyaz liste yok! (karışık içerikli bir siteyi bildiğiniz ve güvendiğiniz zamanlar için)
Raad

6
@ Karışık içerikli bir siteye güvenemezsiniz. Site sahipleri masum olsa da, http isteği taşıyan tüm yönlendiriciler olmayabilir. Site sahiplerine bir hata raporu gönderirim.
alfa-fare

6
@Raad ve binlerce site, SSL bağlantısıyla şifrelenmesi amaçlanan kişisel olarak tanımlanabilir bilgiler içerebilecek başlıkları açığa çıkarmıyorsa ... Açıkçası, FF Dev Team'i bu sorumsuz varlık olarak görmüyorum önemli ...
Assimilater

3
Tamamen zararsız eylemleri engellediğinde son derece sinir bozucu. ZIP konuşma! Ben bir adres formuna girdiğiniz posta kodu şehir ve durumunu aramak için Ziptastic kullanan bir eklenti var. Bu eklenti bozuldu: tek yapmak istediğim küçük bir JSON nesnesi kapmak için huzurlu bir API kullanmak - zar yok. Bu tarayıcı güvenliğinin TSA'sı! Saçmalıklarımıza geri dönelim!
Chris Baker

137

Bu, https'den http çağırdığınız anlamına gelir. src="//url.to/script.js"Komut dosyası etiketinizde kullanabilirsiniz , otomatik olarak algılanacaktır.

Alternatif olarak src, bir http sayfasında yayınlasanız bile https kullanın . Bu, yorumlarda bahsedilen potansiyel sorunu önleyecektir.


1
Yalnızca bir not, yerel olarak depolanan bir web sayfasında kullanılırsa, tarayıcının komut dosyasını verimli bir şekilde aramasına ve sayfanın yüklenmesini önemli ölçüde geciktirmesine neden olabilir
binaryfunt

52

Beyaz liste özelliğinin yokluğunda "tümü" veya "hiçbir şey" Seçimi yapmanız gerekir. Karışık içerik engellemeyi tamamen devre dışı bırakabilirsiniz.


Hiçbir Şey Yok

Geçerli etkin profil için karışık içerik engellemeyi kalıcı olarak devre dışı bırakmanız gerekir.

"Awesome Bar" alanına "about: config" yazın. İlk kez kullanıyorsanız "Bu garantinizi geçersiz kılabilir!" İleti.

Evet, dikkatli olacaksın. Evet söz veriyorsun!

Security.mixed_content.block_active_content öğesini bulun . Değerini false olarak ayarlayın .


Tüm Seçenekler

iDevelApp'ın cevabı harika.


1
Chrome'da karışık içeriği etkinleştirmeyi biliyor musunuz?
Faizan

1
@Faizan: Bu yanıttan : "Sağ uçtaki adres çubuğunda 'kalkan' simgesi olmalı, güvensiz içeriği çalıştırmak için buna tıklayabilirsiniz."
fuglede

27

Tarayıcıyı güvenli olmayan bağlantılara (http) güvenli bağlantıları (https) değiştirmeye zorlamak için aşağıdaki <meta>etiketi <head>belgenizin bölümüne yerleştirin. Bağlantı https kullanabiliyorsa bu, karışık içerik sorununu çözebilir.

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

Engellemek istiyorsanız etikete aşağıdaki etiketi ekleyin <head>:

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

1
Kromda çalışmıyor mu? Firefox'ta çalıştı. upgrade-insecure-requestshttp tp https çağrılarını yeni sürüme geçiriyor gibi görünüyor.
Aniket Thakur

1
Bu kötü bir fikir mi? Güvenlik politikasının var olmasının bir nedeni yok mu?
medley56


10

Güvenlik nedeniyle hata verildi. bunun için lütfen web sitesi url'sinde "http" değil "https" kullanın.

Örneğin :

   "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 den http çağrısına erişilemeyen bir karışık içerik yapan ilgili sayfada, ilgili girdiye aşağıdaki girdiyi ekleyebilir ve karışık içerik hatasından kurtulabiliriz.

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

5

Aynı sorunu yaşadım çünkü bir CSS şablonu aldım ve bir dış javascript dosyası olan bir javascript yakaladı http://whatever.js.com/javascript.js. Tarayıcımdaki o sayfaya gitti ve sonra bunu değiştirdi https://whatever...SSL kullanarak ve işe yaradı, yani benim HTML JavaScript etiketine ben sadece URL kullanmak için değiştirildi httpsyerine httpve işe yaradı.


4

Https protokolüne yönlendirmeyi zorlamak için, bu yönergeyi kök klasöründeki .htaccess dosyasına da ekleyebilirsiniz.

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

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

3

@Blender Yorum en iyi yaklaşımdır. Hiçbir zaman sert kod Eğer hareket edersek değiştirmek zor olacak gibi kodunda protokol yerde httpiçin https. Tüm dosyaları manuel olarak düzenlemeniz ve güncellemeniz gerektiğinden.

Protokolü otomatik olarak algıladığı için bu her zaman daha iyidir.

src="//code.jquery.com

2

Sayfanızı http : //www.example.com gibi bir şeyle eklemek veya karıştırmakla ilgili sorun yaşarsanız, bunun yerine // www .example.com yazarak bunu düzeltebilirsiniz.


bu benim için çalıştı, teşekkürler. Bana neler olduğunu açıklayabilir misiniz?
Mantej Singh

2

Sitem http'den https'ye geçtiğinde aynı sorunla karşılaşıyorum. Tüm http'yi https'ye yeniden yönlendirme isteği için kural ekledik.

Siteler arası istek için yeniden yönlendirme kuralını eklemeniz gerekir, ancak harici js / css için yeniden yönlendirme kuralını kaldırmanız gerekir.


0

Ben sadece başlığı aşağıdaki kodu ekleyerek bu sorunu düzeltti:

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

-9

Uygulama sunucunuz weblogic ise, web sunucusunun conf dizinindeki weblogic.conf dosyasında WLProxySSL ON girdisinin bulunduğundan emin olun (ve yorumlanmaması gerekir). sonra web sunucusunu yeniden başlatın, işe yarayacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.