HTTPS / TLS
O HTTPS (Hypertext Transfer Protocol Secure) é a versão segura do protocolo HTTP. Ele utiliza o protocolo TLS (Transport Layer Security) para criptografar toda a comunicação entre o navegador e o servidor.
Pilares do HTTPS
- Criptografia: Protege os dados contra interceptação (ataques Man-in-the-Middle).
- Integridade: Garante que os dados não foram alterados durante o trânsito.
- Autenticação: Prova que o usuário está realmente conversando com o servidor legítimo (através de certificados SSL/TLS).
Mixed Content (Conteúdo Misto)
Ocorre quando um site carregado via HTTPS tenta carregar recursos (imagens, scripts, fontes) via HTTP comum. Os navegadores modernos bloqueiam automaticamente o "Active Mixed Content" (scripts) e exibem avisos de segurança para "Passive Mixed Content" (imagens), pois esses recursos podem ser vetores de ataques.
Como fazer vs Como não fazer
✅ Como fazer
- Utilize HTTPS em todos os ambientes (Desenvolvimento, Staging e Produção).
- Configure o cabeçalho HSTS (Strict-Transport-Security) para forçar o navegador a usar apenas HTTPS em todas as requisições futuras.
- Utilize URLs relativas (ex:
/assets/logo.png) ou URLs absolutas com HTTPS para evitar problemas de Mixed Content. - Verifique periodicamente a validade e a força da configuração do seu certificado TLS.
❌ Como não fazer
- Nunca carregue scripts externos via HTTP em uma página HTTPS. Isso invalida toda a segurança da página, pois o script HTTP pode ser alterado para roubar dados da página segura.
- Não ignore avisos de "Certificado Inválido" ou "Conexão Não Segura" durante o desenvolvimento. Isso treina o desenvolvedor a ignorar riscos reais.
- Não utilize versões obsoletas do protocolo TLS (como TLS 1.0 ou 1.1) que possuem vulnerabilidades conhecidas. Use sempre TLS 1.2 ou superior.