Verificador de Conteúdo Misturado

HTML para verificar

Detecta recursos http:// carregados dentro de uma página HTTPS.

Próximo

Após migrar um site para HTTPS, tags <img>, <script>, <link> ou <iframe> que ainda apontam para http://... quebram o cadeado verde e, em navegadores modernos, muitas vezes falham em carregar completamente. Insira uma URL e este verificador carrega a página, inspeciona cada sub-recurso (imagens, folhas de estilo, scripts, fontes, iframes, vídeo, áudio) e lista qualquer coisa servida via HTTP simples para que você possa corrigir antes que os usuários vejam um aviso de “não totalmente seguro”.

Como funciona a verificação

  1. 1

    Insira uma URL

    URL HTTPS. O verificador segue um redirecionamento.

  2. 2

    A página é buscada

    HTML é analisado para cada referência de sub-recurso.

  3. 3

    Cada referência é classificada

    HTTPS, HTTP ou relativa ao protocolo (`//cdn...`).

  4. 4

    Relatório agrupado por tipo

    Conteúdo ativo vs. passivo, com classificação de severidade.

Conteúdo misturado ativo vs. passivo

Os navegadores tratam duas classes de forma diferente:

  • Conteúdo misturado ativo (scripts, iframes, folhas de estilo, XHR/fetch, workers, WebSockets). Bloqueado completamente por navegadores modernos. Inclui: <script>, <link rel="stylesheet">, <iframe>, fetch(), XMLHttpRequest, importScripts().
  • Conteúdo misturado passivo (imagens, vídeo, pôsteres de áudio). Carregado, mas sinalizado, o cadeado cai e a barra de URL mostra um aviso. Inclui: <img>, <audio>, <video>, alvos de action de formulários.

Por que isso é importante

  • Confiança. Um cadeado quebrado sinaliza “este site não é seguro” para os usuários que notam.
  • Funcionalidade. Conteúdo ativo bloqueado significa que scripts não são executados e folhas de estilo não são aplicadas, as páginas parecem quebradas.
  • SEO. O Google prefere páginas HTTPS; sinais de HTTPS quebrado prejudicam classificações indiretamente.
  • Conformidade. PCI DSS e muitos outros frameworks de conformidade exigem HTTPS sem conteúdo misturado para páginas transacionais.

Fontes comuns

Fonte Correção típica
CDN legado em HTTP Trocar domínio para CDN HTTPS
Código de incorporação antigo do YouTube / Vimeo Atualizar incorporação para versão atual
URLs de scripts de rede de anúncios Usar versão HTTPS (disponível há anos)
Fontes de terceiros, mapas Trocar http://fonts.googleapis.comhttps://
Widgets de botões sociais Usar código de widget atual
URLs de imagens geradas por usuários Reescrever ao salvar; carregar via proxy ao exibir
URLs codificadas em postagens de blog Encontrar e substituir em lote no DB

Estratégias de correção

  1. URLs relativas ao protocolo (//cdn.example.com/a.js). Carrega com o protocolo da página atual. Seguro para a maioria dos CDNs, mas obsoleto, prefira https://... explícito.
  2. Reescrever na fonte. Atualize seus templates e conteúdo para usar https://. Escaneie o código com uma regex: http://(?!localhost).
  3. Atualização da Política de Segurança de Conteúdo. Content-Security-Policy: upgrade-insecure-requests informa ao navegador para reescrever silenciosamente URLs de ativos HTTP para HTTPS. Melhor para sites que não podem auditar cada URL.
  4. <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> equivalente inline.
  5. Proxy de ativos apenas HTTP através da sua origem HTTPS se a fonte realmente não tiver um endpoint HTTPS (raro hoje).

O que o verificador encontra

  • Todas as URLs externas referenciadas em <img>, <script>, <link>, <iframe>, <video>, <audio>, <source>.
  • Atributos action de formulários.
  • Referências CSS inline url(...) em blocos <style>.
  • Não rastreia recursos injetados por JavaScript, eles são adicionados em tempo de execução e precisam de uma auditoria do lado do navegador (o painel de Problemas no Chrome DevTools captura esses).

Perguntas frequentes

Parcialmente. O cabeçalho ou meta tag upgrade-insecure-requests CSP informa aos navegadores para reescrever URLs de subrecursos HTTP para HTTPS automaticamente. Funciona quando o servidor suporta HTTPS; se a fonte for apenas HTTP, a reescrita falha.

Não. Apenas recursos referenciados em HTML estático. Scripts que criam elementos <img> em tempo de execução não aparecerão. O painel de Problemas do Chrome DevTools captura esses no navegador.

Elas são seguras em páginas HTTPS (herdam HTTPS). Mas quebram em ferramentas internas apenas HTTP ou páginas arquivadas, e estão obsoletas. Prefira https:// explícito.

Cache do navegador. Atualize forçadamente (Ctrl+Shift+R / Cmd+Shift+R) ou teste em uma janela anônima para confirmar a correção. Relatórios CSP e avisos no console mostram o estado atual.

Um buscador do lado do servidor recupera a página para análise. A URL em si não é armazenada além da solicitação.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas