← Todas as verificações
SegurançaSeveridade típica: Médio

Scanner de conteúdo misto

Deteta recursos carregados por HTTP numa página HTTPS, que viajam sem cifrar e quebram o cadeado.

O que verifica

Este scanner deteta recursos como imagens, scripts ou estilos que a tua página HTTPS carrega por HTTP sem cifra. Essa mistura é conhecida como conteúdo misto. O scanner revê as referências da página para encontrar quais não usam HTTPS.

Porque importa

O conteúdo misto viaja sem cifra, por isso pode ser intercetado ou manipulado mesmo que o resto da página seja seguro. Além disso, o navegador pode bloquear esses recursos ou tirar o cadeado, dando ar de site inseguro. No pior caso, um script carregado por HTTP compromete a página inteira.

Como se corrige

Muda todas as referências de recursos para que comecem por https em vez de http. Presta especial atenção a ligações para bibliotecas externas, imagens e fontes antigas. Se um recurso externo não oferecer HTTPS, procura uma alternativa ou aloja-o tu mesmo de forma segura.

Como funciona esta verificação

O Scanaris lê o HTML da tua página servida por HTTPS e procura referências a recursos que comecem por http://: scripts, folhas de estilo, iframes, imagens, vídeos, áudio e fontes. Separa-os em dois grupos. O conteúdo misto ativo (scripts, estilos, iframes) abre um achado de severidade média, porque esses recursos podem executar código ou alterar a página. O conteúdo misto passivo (imagens, vídeo, áudio) abre um de severidade baixa: não executa nada, mas viaja sem cifragem e quebra o cadeado. Só se reveem as referências que aparecem no HTML inicial; os recursos que o JavaScript acrescenta depois não se veem por esta via.

Porque importa

Um script carregado por HTTP dentro de uma página HTTPS é o pior dos casos: quem controlar a rede pode substituí-lo por outro e executar o que quiser na tua página, com a sessão do utilizador. Por isso os navegadores modernos bloqueiam-no diretamente, e o teu site parte-se em silêncio nessa parte. Para as imagens, o navegador carrega-as mas retira o cadeado ou mostra um aviso de "não seguro", que é o que o utilizador vê. Em ambos os casos a mensagem é a mesma: a página diz ser segura e não o é de todo.

De onde vem

Quase sempre de código antigo: URLs copiados de um tutorial ou de um template de há anos, uma biblioteca ligada a partir de uma CDN que na altura não tinha HTTPS, imagens de um blog migrado, ou um campo da base de dados com o URL completo de uma imagem carregada quando o site ainda ia por HTTP. No WordPress é típico depois de mudar de HTTP para HTTPS sem atualizar os URLs guardados.

Como corrigir

  • Muda as referências para https:// ou para caminhos relativos (/imagens/foto.jpg), que herdam o protocolo da página. É a solução correta e definitiva.
  • Se um recurso externo não tem HTTPS, descarrega-o e serve-o a partir do teu domínio, ou procura outra fonte. Em 2026 quase nada legítimo continua só em HTTP.
  • No WordPress, atualiza os URLs guardados na base de dados com uma ferramenta de procurar e substituir que respeite a serialização, e revê os URLs do site nas definições gerais.
  • Como rede de segurança, a diretiva de CSP upgrade-insecure-requests diz ao navegador para converter automaticamente os pedidos http:// da tua página em https://. Serve enquanto limpas o código, mas não substitui a limpeza: o recurso tem de existir em HTTPS para funcionar.
Content-Security-Policy: upgrade-insecure-requests

Confirma que está corrigido

curl -s https://oteudominio.com | grep -oE '(src|href)="http://[^"]+"' | sort -u

Não deve sair nada. Depois abre a página com a consola do navegador: qualquer recurso misto que o JavaScript carregue aparece lá como aviso ou bloqueio.

Perguntas frequentes

A minha página carrega bem e tem cadeado. Porque me marca isto?

Porque o navegador pode estar a bloquear o recurso em silêncio ou a subi-lo para HTTPS por conta própria. A referência no teu HTML continua a ser http:// e outros clientes (bots, navegadores antigos, emails) não fazem essa correção.

Os URLs que começam por // são conteúdo misto?

Não. Os URLs relativos ao protocolo herdam o da página e em HTTPS carregam por HTTPS. Ainda assim, hoje recomenda-se escrever https:// diretamente.

Um link <a href="http://…"> conta?

Não. Um link não carrega nada na tua página; só leva o utilizador a outro sítio. O conteúdo misto é o que a página incorpora.

Verifica-o no teu site

Analisa o teu site grátis e vê se esta e outras 44 verificações passam, com um fix prompt por cada problema.

Analisar o meu site grátis

Do blog

Verificações relacionadas