Por que de repente estou recebendo um problema "Carregamento bloqueado de conteúdo ativo misto" no Firefox?

350

Hoje de manhã, ao atualizar meu navegador Firefox para a versão mais recente (de 22 para 23), alguns dos principais aspectos do meu back office (site) pararam de funcionar.

Observando o log do Firebug, os seguintes erros estavam sendo relatados:

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

entre outros erros causados ​​por o último dos dois acima não estar sendo carregado.

O que significa acima e como resolvo isso?

Appulus
fonte
Ei, eu ter resolvido apenas por fazer: googl.com/maps com //www.googl.com/maps ele vai trabalhar sem bloquear o conteúdo
Ram Balwad
o link do comércio eletrônico está morto (Erro - A página que você solicitou não pôde ser encontrada)
Soleil - Mathieu Prévot 10/02

Respostas:

417

Encontrei este post do blog que esclareceu algumas coisas. Para citar o bit mais relevante:

O Conteúdo Ativo Misto agora está bloqueado por padrão no Firefox 23!

O que é conteúdo misto?
Quando um usuário visita uma página veiculada por HTTP, sua conexão é aberta para ataques de interceptação e man-in-the-middle (MITM). Quando um usuário visita uma página veiculada em HTTPS, sua conexão com o servidor da Web é autenticada e criptografada com SSL e, portanto, protegida contra espionagem e ataques MITM.

No entanto, se uma página HTTPS incluir conteúdo HTTP, a parte HTTP poderá ser lida ou modificada pelos invasores, mesmo que a página principal seja veiculada em HTTPS. Quando uma página HTTPS possui conteúdo HTTP, chamamos esse conteúdo de "misto". A página da Web que o usuário está visitando é criptografada apenas parcialmente, pois parte do conteúdo é recuperada sem criptografia por HTTP. O Bloqueador de Conteúdo Misto bloqueia determinadas solicitações HTTP nas páginas HTTPS.

A resolução, no meu caso, era simplesmente garantir que as jqueryinclusões fossem as seguintes (observe a remoção do protocolo):

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

Observe que a 'correção' temporária é clicar no ícone 'escudo' no canto superior esquerdo da barra de endereço e selecionar 'Desativar proteção nesta página', embora isso não seja recomendado por razões óbvias.

ATUALIZAÇÃO: Este link das páginas de suporte do Firefox (Mozilla) também é útil para explicar o que constitui conteúdo misto e, conforme fornecido no parágrafo acima, na verdade fornece detalhes de como exibir a página independentemente:

A maioria dos sites continuará funcionando normalmente sem nenhuma ação de sua parte.

Se você precisar permitir que o conteúdo misto seja exibido, faça isso facilmente:

Clique no ícone de escudo Escudo de conteúdo misto na barra de endereço e escolha Desativar proteção nesta página no menu suspenso.

O ícone na barra de endereço mudará para um triângulo de aviso laranja Ícone de identidade de aviso para lembrá-lo de que conteúdo inseguro está sendo exibido.

Para reverter a ação anterior (bloquear novamente o conteúdo misto), basta recarregar a página.

Appulus
fonte
82
Uma abordagem melhor seria apenas para remover o protocolo inteiramente: src="//code.jquery.com.... O navegador usará o protocolo com o qual a página foi carregada.
Blender
17
Oh cara! A equipe de desenvolvedores da FF deu um tiro no pé com essa idéia legal, implementação totalmente não-legal. Sem persistência para desativar páginas e sem lista de permissões! (para quando você conhece e confia em um site com conteúdo misto)
Raad
6
@ Raad, você simplesmente não pode confiar em um site com conteúdo misto. Embora os proprietários do site possam ser inocentes, todos os roteadores que carregam a solicitação http podem não ser. Eu enviava um relatório de bug aos proprietários do site.
alfa-ratinho
6
O @Raad e essas centenas, senão milhares de sites, estão expondo cabeçalhos que podem conter informações de identificação pessoal que devem ser criptografadas com uma conexão SSL ... francamente, não vejo a equipe de desenvolvedores do FF como a entidade irresponsável neste matter ...
Assimilater 3/13
3
Extremamente frustrante quando está bloqueando ações completamente inofensivas. Falando de zip! Eu tenho um plugin que usa o Ziptastic para procurar a cidade e o estado do CEP que você digita em um formulário de endereço. Este plugin está quebrado: tudo o que eu quero fazer é usar uma API repousante para pegar um pequeno objeto JSON - sem dados. Este é o TSA de segurança do navegador! Vamos ter nossas calças de volta, pelo amor de Deus!
Chris Baker
136

Isso significa que você está ligando para http a partir de https. Você pode usar src="//url.to/script.js"na sua tag de script e ela será detectada automaticamente.

Como alternativa, você pode usar o https no seu, srcmesmo que o publique em uma página http. Isso evitará o possível problema mencionado nos comentários.

Alain Jacomet Forte
fonte
11
Apenas uma nota, se usado em uma página armazenada localmente, pode fazer com que o navegador para procurar inutilmente para o script, atrasando significativamente o carregamento da página
binaryfunt
52

Na ausência de um recurso de lista branca, você deve fazer a escolha "tudo" ou "nada". Você pode desativar completamente o bloqueio de conteúdo misto.


A escolha do nada

Você precisará desativar permanentemente o bloqueio de conteúdo misto para o perfil ativo atual.

Na barra "Awesome", digite "about: config". Se esta é sua primeira vez, você receberá a mensagem "Isso pode anular sua garantia!" mensagem.

Sim, você será cuidadoso. Sim, você promete!

Localize security.mixed_content.block_active_content . Defina seu valor como false .


Toda a escolha

A resposta do iDevelApp é incrível.

DRaehal
fonte
11
Você sabe ativar o conteúdo misto no chrome?
Faizan
11
@ Faizan: A partir desta resposta : "Na barra de endereços no lado direito deve haver um ícone de 'escudo', você pode clicar nele para executar conteúdo inseguro".
Fuglede
27

Coloque a <meta>tag abaixo na <head>seção do seu documento para forçar o navegador a substituir conexões não seguras (http) por conexões seguras (https). Isso pode resolver o problema de conteúdo misto se a conexão puder usar https.

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

Se você deseja bloquear, adicione a tag abaixo na <head>tag:

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
tapas talukder
fonte
11
Não funciona no chrome? trabalhou no firefox. upgrade-insecure-requestsparece atualizar chamadas http tp https.
Aniket Thakur
11
Isso é uma má ideia? Não existe um motivo para a política de segurança existir?
medley56
10

É dado o erro por causa da segurança. para isso, use "https" e não "http" no URL do site.

Por exemplo :

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

Na página relevante que faz um conteúdo misto https para uma chamada http que não é acessível, podemos adicionar a seguinte entrada no relevante e se livrar do erro de conteúdo misto.

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

Eu tive esse mesmo problema porque comprei um modelo CSS e ele pegou um javascript e um arquivo javascript externo http://whatever.js.com/javascript.js. Eu fui para essa página no meu navegador e, em seguida, mudei para https://whatever...SSL, e funcionou. Portanto, na minha tag javascript HTML, mudei o URL a ser usado em httpsvez de httpe funcionou.

bigpotato
fonte
4

Para forçar o redirecionamento no protocolo https, você também pode adicionar esta diretiva em .htaccess na pasta raiz

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

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

O comentário do @Blender é a melhor abordagem. Nunca codifique o protocolo em nenhum lugar do código, pois será difícil mudar se você passar de httppara https. Como você precisa editar e atualizar manualmente todos os arquivos.

Isso é sempre melhor, pois detecta automaticamente o protocolo.

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

Descobri que se você tiver problemas para incluir ou misturar sua página com algo como http : //www.example.com, poderá corrigi-lo colocando // www .example.com

irene salomo
fonte
isso funcionou para mim, obrigado. Você pode me explicar o que está acontecendo?
Mantej Singh 20/02
2

Estou enfrentando o mesmo problema quando meu site passa de http para https. Adicionamos regra para todas as solicitações de redirecionamento de http para https.

Você precisa adicionar a regra de redirecionamento para solicitação entre sites, mas precisa remover a regra de redirecionamento para js / css externo.

tapas talukder
fonte
0

Eu apenas corrigi esse problema adicionando o seguinte código no cabeçalho:

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

Se o seu servidor de aplicativos for weblogic, verifique se a entrada WLProxySSL ON existe (e também verifique se não deve ser comentada) no arquivo weblogic.conf no diretório conf do servidor da web. depois reinicie o servidor web, ele funcionará.

Prasad Reddy
fonte