O que é o Mixed Content?
Mixed Content (conteúdo misto) acontece quando uma página é carregada com o protocolo HTTPS, portanto é uma conexão criptografada e segura, porém outros recursos que essa página carrega (como imagens, scripts e outros) são servidos em HTTP, sem criptografia. Dessa forma, por mais que a conexão do cliente com a página principal seja segura, ela acaba se tornando insegura por conta de outros recursos.
Existem dois de Mixed Content, o passivo e o ativo. Você pode ler mais sobre o assunto na documentação da Mozilla clicando aqui.
Mixed Content Passivo
O conteúdo misto passivo é servido em HTTP, porém esses conteúdos não podem alterar nenhuma outra parte do site. Um atacante poderia, por exemplo, substituir a imagem servida por HTTP por uma imagem inapropriada, ou com uma mensagem para o usuário. O atacante também saberia quais imagens são servidas para esse usuário, porém somente isso. As tags HTML que são considerados conteúdo passivo são:
- <script>
- <img>
- <audio>
- <video>
- <object> (sub-recursos
O conteúdo misto ativo é também servido em HTTP, porém possui acesso ao DOM da página HTTPS, logo consegue editar e ler conteúdos da página. Este é o mais perigoso, que permite que uma conexão HTTPS seja interceptada, roubando credenciais o usuário e podendo até mesmo injetar malware na máquina do usuário, se aproveitando de vulnerabilidades de navegador e extensões. Os conteúdos considerados ativos são:
- <script>
- <link>
- <iframe>
- <object> (atributo "data")
- XMLHttpRequest
- fetch()
- CSS quando existe o atributo url()
- Navigator.sendBeacon
Como identificar uma página com Mixed Content?
É possível identificar se uma página está servindo conteúdo misto a partir da aba Console do painel de Ferramentas do Desenvolvedor. Para abrir esse painel, pressione os botões Ctrl + Shift + I.
No console, deve aparecer os erros de conteúdo misto mostrando que a página é insegura por servir o conteúdo misto, e também informa se o conteúdo foi bloqueado por ser inseguro.
Como corrigir o Mixed Content?
Caso utiliza Wordpress, é possível corrigir esse problema utilizando um plugin como por exemplo o plugin informado em nossa FAQ "Como configurar o WordPress com nosso SSL gratuito". Esse plugin configura o redirecionamento do acesso HTTP para HTTPS. Se você não utiliza o WordPress você pode realizar a alteração dos links que estão em HTTP para HTTPS na aplicação. Por último, você pode configurar o redirecionamento automático de HTTP para HTTPS usando Smart Rules.
A FAQ "Como Configurar HSTS" explica como você pode configurá-lo, alêm de configurar o HSTS para que os navegadores façam o redirecionamento automaticamente.
Caso fique com dúvidas ou tenha algum problema, entre em contato com o nosso suporte. Teremos prazer em ajudá-lo.
E-mail: suporte@gocache.com.br