Mengapa tiba-tiba saya mendapatkan masalah "Pemblokiran memuat konten aktif campuran" di Firefox?

350

Pagi ini, setelah memutakhirkan peramban Firefox saya ke versi terbaru (dari 22 menjadi 23), beberapa aspek kunci dari kantor (situs web) saya berhenti berfungsi.

Melihat log Firebug, kesalahan berikut dilaporkan:

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

antara kesalahan lainnya yang disebabkan oleh yang terakhir dari dua di atas tidak dimuat.

Apa yang dimaksud di atas dan bagaimana cara mengatasinya?

Appulus
sumber
Hai, saya hanya menyelesaikannya dengan melakukan: googl.com/maps dengan //www.googl.com/maps Ini akan berfungsi tanpa memblokir konten
Ram Balwad
tautan e-niaga sudah mati (Galat - Halaman yang Anda minta tidak dapat ditemukan)
Soleil - Mathieu Prévot

Jawaban:

417

Saya menemukan posting blog ini yang membersihkan beberapa hal. Mengutip bit yang paling relevan:

Konten Aktif Campuran sekarang diblokir secara default di Firefox 23!

Apa itu Konten Campuran?
Saat pengguna mengunjungi halaman yang dilayani melalui HTTP, koneksi mereka terbuka untuk serangan penyadapan dan man-in-the-middle (MITM). Ketika pengguna mengunjungi halaman yang dilayani melalui HTTPS, koneksi mereka dengan server web diautentikasi dan dienkripsi dengan SSL dan karenanya dilindungi dari serangan penyadap dan MITM.

Namun, jika halaman HTTPS menyertakan konten HTTP, bagian HTTP dapat dibaca atau dimodifikasi oleh penyerang, meskipun halaman utama dilayani melalui HTTPS. Ketika halaman HTTPS memiliki konten HTTP, kami menyebut konten itu "campuran". Halaman web yang dikunjungi pengguna hanya sebagian dienkripsi, karena beberapa konten diambil tidak dienkripsi melalui HTTP. Blocker Konten Campuran memblokir permintaan HTTP tertentu pada halaman HTTPS.

Resolusi, dalam kasus saya, adalah untuk hanya memastikan bahwa jquerymenyertakannya adalah sebagai berikut (perhatikan penghapusan protokol):

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

Perhatikan bahwa 'perbaikan' sementara adalah dengan mengklik ikon 'perisai' di sudut kiri atas bilah alamat dan pilih 'Nonaktifkan Perlindungan pada Halaman Ini', walaupun ini tidak disarankan untuk alasan yang jelas.

PEMBARUAN: Tautan dari halaman dukungan Firefox (Mozilla) ini juga berguna dalam menjelaskan apa yang merupakan konten campuran dan, seperti yang diberikan dalam paragraf di atas, benar-benar memberikan rincian tentang cara menampilkan halaman terlepas dari:

Sebagian besar situs web akan terus bekerja secara normal tanpa ada tindakan apa pun dari Anda.

Jika Anda perlu mengizinkan konten campuran ditampilkan, Anda dapat melakukannya dengan mudah:

Klik ikon perisai Mixed Content Shield di bilah alamat dan pilih Nonaktifkan Perlindungan pada Halaman Ini dari menu dropdown.

Ikon di bilah alamat akan berubah menjadi segitiga peringatan oranye Ikon Identitas Peringatan untuk mengingatkan Anda bahwa konten tidak aman sedang ditampilkan.

Untuk mengembalikan tindakan sebelumnya (memblokir kembali konten campuran), cukup muat ulang halaman.

Appulus
sumber
82
Pendekatan yang lebih baik akan hanya menghapus protokol seluruhnya: src="//code.jquery.com.... Browser akan menggunakan protokol yang memuat halaman itu.
Blender
17
Oh man! Tim Pengembang FF menembak kaki mereka dengan ini - ide keren, implementasi yang benar-benar tidak keren. Tidak ada kegigihan untuk menonaktifkan halaman, dan tidak ada daftar putih! (untuk saat Anda mengetahui dan memercayai situs dengan konten campuran)
Raad
6
@Raad Anda tidak bisa mempercayai situs dengan konten campuran. Meskipun pemilik situs mungkin tidak bersalah, semua router yang membawa permintaan http mungkin tidak. Saya akan mengajukan laporan bug ke pemilik situs.
alpha-mouse
6
@Raad dan ratusan itu jika tidak ribuan situs sedang dalam proses mengekspos tajuk yang mungkin berisi informasi yang dapat diidentifikasi secara pribadi dimaksudkan untuk dienkripsi dengan koneksi SSL ... terus terang, saya tidak melihat Tim Dev FF sebagai entitas yang tidak bertanggung jawab dalam hal ini hitungan ...
Assimilater
3
Sangat membuat frustrasi ketika memblokir tindakan yang sama sekali tidak berbahaya. Berbicara tentang zip! Saya memiliki plugin yang menggunakan Ziptastic untuk mencari kota dan status kode pos yang Anda masukkan ke dalam formulir alamat. Plugin ini rusak: yang ingin saya lakukan adalah menggunakan API yang tenang untuk mengambil objek JSON kecil - tanpa dadu. Ini adalah TSA keamanan browser! Mari kita bawa celana kita kembali, demi omong kosong!
Chris Baker
136

Itu berarti Anda menelepon http dari https. Anda dapat menggunakan src="//url.to/script.js"tag skrip Anda dan itu akan mendeteksi secara otomatis.

Bergantian Anda dapat menggunakan menggunakan https di Anda srcbahkan jika Anda akan menerbitkannya ke halaman http. Ini akan menghindari potensi masalah yang disebutkan dalam komentar.

Alain Jacomet Forte
sumber
1
Hanya sebuah catatan, jika digunakan pada halaman web yang disimpan secara lokal, ini dapat menyebabkan browser mencari tanpa hasil untuk skrip, secara signifikan menunda pemuatan halaman
binaryfunt
52

Dengan tidak adanya fitur daftar putih, Anda harus membuat Pilihan "semua" atau "tidak ada". Anda dapat menonaktifkan pemblokiran konten campuran sepenuhnya.


The Nothing Choice

Anda harus menonaktifkan pemblokiran konten campuran secara permanen untuk profil aktif saat ini.

Di "Bilah Luar Biasa," ketikkan "about: config". Jika ini adalah pertama kalinya Anda, Anda akan mendapatkan "Ini mungkin membatalkan garansi Anda!" pesan.

Ya, Anda akan berhati-hati. Ya, Anda berjanji!

Temukan security.mixed_content.block_active_content . Tetapkan nilainya menjadi false .


Pilihan Semua

Jawaban iDevelApp luar biasa.

DRaehal
sumber
1
Apakah Anda tahu untuk mengaktifkan konten campuran di chrome?
Faizan
1
@Faizan: Dari jawaban ini : "Di bilah alamat di ujung kanan harus menjadi ikon 'tameng', Anda dapat mengkliknya untuk menjalankan konten yang tidak aman."
fuglede
27

Masukkan <meta>tag di bawah ini ke <head>bagian dokumen Anda untuk memaksa browser mengganti koneksi tidak aman (http) ke koneksi aman (https). Ini dapat menyelesaikan masalah konten campuran jika koneksi dapat menggunakan https.

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

Jika Anda ingin memblokir kemudian tambahkan tag di bawah ini ke dalam <head>tag:

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
tapas talukder
sumber
1
Tidak berfungsi di chrome? bekerja di firefox. upgrade-insecure-requeststampaknya untuk meningkatkan panggilan http tp https.
Aniket Thakur
1
Apakah ini ide yang buruk? Apakah tidak ada alasan bahwa kebijakan keamanan ada?
medley56
10

Diberikan kesalahan karena keamanan. untuk ini silakan gunakan "https" bukan "http" di url situs web.

Sebagai contoh :

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

Pada halaman yang relevan yang membuat konten campuran https ke panggilan http yang tidak dapat diakses, kita dapat menambahkan entri berikut di yang relevan dan menyingkirkan kesalahan konten campuran.

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

Saya memiliki masalah yang sama karena saya membeli template CSS dan mengambil javascript file javascript eksternal http://whatever.js.com/javascript.js. Saya pergi ke halaman itu di browser saya dan kemudian mengubahnya untuk https://whatever...menggunakan SSL dan itu berfungsi, jadi dalam tag javascript HTML saya, saya hanya mengubah URL untuk digunakan dan httpsbukan httpdan itu berfungsi.

kentang besar
sumber
4

Untuk memaksa pengalihan pada protokol https, Anda juga dapat menambahkan arahan ini di .htaccess pada folder root

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

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

@Blender Comment adalah pendekatan terbaik. Jangan sekali-kali membuat kode protokol di mana pun dalam kode karena akan sulit untuk berubah jika Anda berpindah dari httpke https. Karena Anda perlu mengedit dan memperbarui semua file secara manual.

Ini selalu lebih baik karena secara otomatis mendeteksi protokol.

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

Saya menemukan jika Anda memiliki masalah dengan menyertakan atau menggabungkan halaman Anda dengan sesuatu seperti http : //www.example.com, Anda dapat memperbaikinya dengan meletakkan // www .example.com sebagai gantinya

irene salomo
sumber
ini berhasil untuk saya, terima kasih. Bisakah Anda jelaskan kepada saya apa yang terjadi?
Mantej Singh
2

Saya menghadapi masalah yang sama ketika situs saya beralih dari http ke https. Kami telah menambahkan aturan untuk semua permintaan untuk mengalihkan http ke https.

Anda perlu menambahkan aturan redirection untuk permintaan antar situs, tetapi Anda harus menghapus aturan redirection untuk js / css eksternal.

tapas talukder
sumber
0

Saya baru saja memperbaiki masalah ini dengan menambahkan kode berikut di header:

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
RKAISSI Youssef
sumber
-9

Jika server aplikasi Anda adalah weblogic, maka pastikan entri WLProxySSL ON (dan juga pastikan itu tidak boleh dikomentari) di file weblogic.conf di direktori conf webserver. kemudian restart server web, itu akan berhasil.

Prasad Reddy
sumber