Uma página tem conteúdo misto quando o HTML inicial é carregado por uma conexão HTTPS segura, mas outros recursos (como imagens, vídeos, folhas de estilo e scripts) são carregados por uma conexão HTTP não segura. O nome se refere à mistura de conteúdo HTTP e HTTPS em uma única página.
Solicitar subrecursos usando o protocolo HTTP não seguro enfraquece a segurança da página, porque essas solicitações são vulneráveis a ataques on-path, em que um invasor escuta uma conexão de rede e visualiza ou modifica a comunicação entre duas partes. Usando esses recursos, os invasores podem rastrear usuários e substituir o conteúdo de um site. No caso de conteúdo misto ativo, eles podem assumir o controle total da página, não apenas dos recursos inseguros.
Embora muitos navegadores informem ao usuário sobre avisos de conteúdo misto, muitas vezes o relatório é enviado tarde demais: as solicitações não seguras já foram realizadas e a segurança da página está comprometida.
A maioria dos navegadores agora bloqueia conteúdo misto por motivos de segurança. Mude as solicitações de conteúdo não seguro para conteúdo seguro para garantir que a página continue carregando corretamente.
Os dois tipos de conteúdo misto
Há dois tipos de conteúdo misto: ativo e passivo.
O conteúdo misto passivo, incluindo imagens, vídeos e áudio, não interage com o restante da página. Portanto, um ataque man-in-the-middle é restrito em relação ao que ele pode fazer se interceptar ou mudar esse conteúdo.
O conteúdo misto ativo interage com a página como um todo. Isso inclui scripts, folhas de estilo, iframes e qualquer outro código que o navegador possa fazer o download e executar. Os ataques a conteúdo misto ativo permitem que um invasor faça quase qualquer coisa na página.
Conteúdo misto passivo
O conteúdo misto passivo é menos arriscado do que o conteúdo misto ativo, mas ainda existe um risco. Por exemplo, um invasor pode:
- Intercetar solicitações HTTP de imagens no seu site e trocar ou substituir essas imagens.
- Substituir as imagens nos botões para que os usuários os confundam e, por exemplo, excluam conteúdo que queriam salvar.
- Deformar seu site substituindo as imagens por conteúdo pornográfico.
- Substitua as imagens do produto por anúncios de outra coisa.
Mesmo que o invasor não altere o conteúdo do seu site, ele pode rastrear usuários por meio de solicitações de conteúdo misto. Eles também podem dizer quais páginas um usuário visita e quais produtos ele visualiza com base em imagens ou outros recursos que o navegador carrega.
Se houver conteúdo misto passivo, a maioria dos navegadores vai indicar na barra de endereço que a página não é segura, mesmo que ela seja carregada por HTTPS. Confira esse comportamento nesta demonstração.
Até pouco tempo atrás, o conteúdo misto passivo era carregado em todos os navegadores, porque bloqueá-lo teria quebrado muitos sites. Isso está começando a mudar, então é essencial atualizar todas as instâncias de conteúdo misto no seu site.
Em alguns casos, o Chrome faz o upgrade automático do conteúdo misto passivo. Isso significa que, se um recurso for codificado como HTTP, mas estiver disponível por HTTPS, o navegador carregará a versão HTTPS. Se não houver uma versão segura, o recurso não será carregado.
Sempre que o Chrome detecta conteúdo misto ou faz upgrade automático do conteúdo misto passivo, ele registra mensagens detalhadas na guia Issues no DevTools para aconselhar você sobre como corrigir o problema específico.

Conteúdo misto ativo
O conteúdo misto ativo representa uma ameaça maior do que o conteúdo misto passivo. Um invasor pode interceptar e reescrever conteúdo ativo, usando-o para assumir o controle total da página ou até mesmo de todo o site. Isso permite que eles mudem qualquer aspecto da página, incluindo a exibição de conteúdo diferente, o roubo de senhas de usuário ou outras credenciais de login, o roubo de cookies de sessão do usuário ou o redirecionamento do usuário para um site diferente.
Como os riscos de conteúdo misto ativo são muito altos, a maioria dos navegadores já bloqueia esse tipo de conteúdo por padrão para proteger os usuários, mas o comportamento varia entre os fornecedores e as versões do navegador.
Esta demonstração mostra exemplos de conteúdo misturado ativo. Carregue o exemplo por HTTP para conferir o conteúdo bloqueado quando você carrega o exemplo por HTTPS. O conteúdo bloqueado também é detalhado na guia Issues no DevTools.

Especificação de conteúdo misto
Os navegadores seguem a especificação de conteúdo misto, que define as categorias de conteúdo opcionalmente bloqueável e conteúdo bloqueável.
Um recurso se qualifica como conteúdo opcionalmente bloqueável "quando o risco de permitir o uso como conteúdo misto é superado pelo risco de quebrar partes significativas da Web". Este é um subconjunto de conteúdo misto passivo.
Todo conteúdo misto que não seja opcionalmente bloqueável é considerado bloqueável e precisa ser bloqueado pelo navegador.
Nos últimos anos, o uso do HTTPS aumentou drasticamente, e ele se tornou o padrão claro na Web. Isso torna mais viável para os navegadores considerarem o bloqueio de todo o conteúdo misto, mesmo aqueles tipos de subrecurso definidos na especificação de conteúdo misto como opcionalmente bloqueáveis.
Navegadores mais antigos
Alguns visitantes podem usar navegadores mais antigos. Diferentes versões de navegador de diferentes fornecedores tratam o conteúdo misto de maneira diferente. Na pior das hipóteses, navegadores e versões mais antigos não bloqueiam nenhum conteúdo misto, o que não é seguro para o usuário.
Ao carregar todos os recursos com segurança e corrigir problemas de conteúdo misto, você garante que seu conteúdo esteja visível e protege os usuários de conteúdo perigoso que navegadores mais antigos podem não bloquear.