Existem dois tipos de conteúdo misto - um é pior que o outro, mas nenhum é bom. Os avisos de conteúdo misto indicam que algo está errado com uma página da Web que você está visitando.
O que é conteúdo misto?
Tudo isso se resume à diferença entre HTTP e HTTPS. O HTTP é o tipo de conexão mais comumente usado. Quando você visita um site usando o protocolo HTTP, sua conexão com o site não é protegida. Qualquer pessoa que esteja ouvindo o tráfego pode ver a página que você está visualizando e todos os dados que você está enviando.
É por isso que temos HTTPS, que é literalmente "HTTP seguro". O HTTPS cria uma conexão segura entre você e o servidor da web. A conexão é criptografada e autenticada, para que ninguém possa espionar seu tráfego e você tem alguma garantia de que está conectado ao site correto. Isso é extremamente importante para proteger senhas de contas e dados de pagamento on-line, garantindo que ninguém possa espioná-los.
Os avisos de conteúdo misto indicam um problema com uma página da web que você está acessando por HTTPS. A conexão HTTPS deve ser segura, mas o código-fonte da página da Web atrai outros recursos com o protocolo HTTP inseguro, não HTTPS. A barra de endereço do seu navegador da Web dirá que você está conectado ao HTTPS, mas a página também está carregando recursos com o protocolo HTTP inseguro em segundo plano. Para garantir que você saiba que a página da Web que você está usando não é totalmente segura, os navegadores exibem um aviso informando que a página tem conteúdo HTTPS e HTTP - conteúdo misto, em outras palavras.
Por que isso é perigoso?
Por isso, isso é realmente perigoso. Digamos que você esteja em uma página de pagamento e esteja prestes a inserir seu número de cartão de crédito. A página de pagamento indica que é uma conexão HTTPS criptografada, mas você vê um aviso de conteúdo misto. Isso deve levantar uma bandeira vermelha. É possível que os detalhes de pagamento inseridos possam ser capturados pelo conteúdo inseguro e enviados por uma conexão insegura, removendo o benefício da segurança HTTPS - alguém pode escutar e ver seus dados confidenciais.
Como o HTTP não autentica o servidor da Web da mesma maneira que o HTTPS, também é possível que um site HTTPS seguro que extrai um script de um site HTTP seja induzido a usar o script de um invasor e executá-lo no site protegido. Quando o HTTPS é usado, você tem mais garantias de que o conteúdo não foi adulterado e é legítimo.
Em ambos os casos, isso elimina o benefício de ter uma conexão HTTPS segura. É possível que um site tenha um aviso de conteúdo inseguro e ainda proteja seus dados pessoais corretamente, mas realmente não sabemos ao certo e não deve correr o risco - é por isso que os navegadores avisam quando você se depara com um site que não é codificado corretamente.
Conteúdo ativo misto vs. conteúdo passivo misto
Na verdade, existem dois tipos de conteúdo misto. O mais perigoso é “conteúdo ativo misto” ou “script misto”. Isso ocorre quando um site HTTPS carrega um arquivo de script sobre HTTP. O arquivo de script pode executar qualquer código na página desejada, portanto, carregar um script em uma conexão insegura destrói completamente a segurança da página atual. Os navegadores da Web geralmente bloqueiam completamente esse tipo de conteúdo misto.
O segundo tipo é “conteúdo passivo misto” ou “conteúdo de exibição misto”. Isso ocorre quando um site HTTPS carrega algo como uma imagem ou arquivo de áudio em uma conexão HTTP. Esse tipo de conteúdo não pode arruinar a segurança da página da mesma maneira. Por isso, os navegadores da Web não reagem com tanta rigidez. No entanto, ainda é uma prática de segurança ruim que pode causar problemas. Por exemplo, um invasor pode substituir a imagem por uma imagem enganosa, adulterando uma página teoricamente segura. Uma solicitação de carregamento de imagem também contém cabeçalhos que contêm informações de cookie associadas a um site, por isso, até carregar uma imagem em uma conexão não segura pode causar problemas. Os navegadores da Web geralmente exibem um ícone ou mensagem de aviso, em vez de bloquear completamente o conteúdo, pois esse tipo de conteúdo misto ainda é muito comum em sites reais. No Chrome, você verá um cadeado com um triângulo amarelo.
O que fazer quando você vê um aviso de conteúdo misto
Os navegadores da Web geralmente bloqueiam os tipos mais perigosos de conteúdo misto por padrão. Não desbloqueie. Se você não conseguir fazer login em um site ou inserir detalhes de pagamento on-line sem carregar o conteúdo misto, deverá deixar o site e não inserir suas informações em um site inseguro. Deixe que os proprietários do site saibam que seu site não está seguro e está quebrado.
Se você vir um aviso de que uma página contém outros recursos que talvez não sejam seguros, provavelmente é seguro fazer login de qualquer maneira. Não é um bom sinal se um site tão importante quanto seu banco tiver esse problema, mas esse tipo de aviso de conteúdo misto é muito comum.
Por outro lado, os avisos de conteúdo misto não são realmente importantes se você estiver acessando um site que não precisa de HTTPS.Todos os avisos de conteúdo misto significam que uma página da Web tem a garantia de se beneficiar da segurança HTTPS - em outras palavras, na pior das hipóteses, a página da Web que você está visitando é tão insegura quanto um site HTTP padrão. Então, se você estivesse acessando um site como a Wikipédia apenas para ler alguns artigos e você visse um aviso de conteúdo misto, não deveria se preocupar muito com isso. Na pior das hipóteses, é tão inseguro quanto se você estivesse lendo artigos na Wikipédia por meio de uma conexão HTTP padrão, que você não teria problema em fazer de qualquer maneira.
Por que algumas páginas da Web têm esse problema
Você só verá esse erro se houver um problema com a maneira como uma página da Web é codificada. Se uma página da Web for veiculada por HTTPS, ela também deverá usar o protocolo HTTPS para inserir arquivos de script e outros conteúdos exigidos. Os desenvolvedores da Web devem testar suas páginas da Web, garantindo que elas não acionarão avisos assustadores nos navegadores dos usuários. Se você é um usuário, não pode fazer nada sobre isso, cabe ao proprietário do site corrigi-lo.
Se você é um desenvolvedor da Web, tudo o que precisa fazer é garantir que suas páginas HTTPS carreguem conteúdo de URLs HTTPS, não URLs HTTP. Uma maneira de fazer isso é fazer com que todo o seu site trabalhe apenas sobre SSL, então tudo usa apenas HTTPS.
Se você quiser criar uma página que possa ser veiculada por HTTP ou HTTPS e fazer a coisa certa automaticamente, poderá usar "URLs relativos a protocolo" para que o navegador do usuário escolha automaticamente HTTP ou HTTPS conforme apropriado, dependendo de qual protocolo o usuário é conectado com. Por exemplo, um URL relativo ao protocolo para carregar uma imagem seria semelhante
. O navegador adicionará automaticamente http: ou https: ao início do URL, o que for apropriado. Obviamente, você precisa garantir que o site ao qual você está vinculando ofereça recursos em HTTP e HTTPS.Os navegadores da Web estão bloqueando automaticamente conteúdo misto ou sua proteção, e é por isso. Se você precisar usar um website seguro que não funcione corretamente, a menos que você permita conteúdo misto, o proprietário do site deverá corrigi-lo.