Headers de segurança
Confira quais cabeçalhos de segurança um site envia de verdade, como Content-Security-Policy, Strict-Transport-Security e X-Frame-Options, e veja de cada um se está ausente, fraco ou bem configurado. Útil antes de um lançamento ou de uma auditoria. Você paga por uso, sem assinatura.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
A análise verifica quais cabeçalhos de segurança a sua página envia — e quais deixou de enviar. HSTS, CSP, X-Frame-Options e companhia protegem quem visita o site contra ataques conhecidos; o relatório mostra a situação de cada um, em formato claro para o dev e para o gestor.
Cabeçalhos que blindam quem visita você
Esses cabeçalhos são instruções que o site dá ao navegador do visitante: o HSTS obriga conexão criptografada, o CSP limita de onde scripts podem vir, o X-Frame-Options impede que a sua página vire isca dentro de um site alheio. Custam zero para enviar e fecham portas que golpes conhecidos exploram há anos — o detalhe é que, por padrão, muitos servidores não enviam nenhum deles, e ninguém percebe.
LGPD cobra diligência, e diligência se demonstra
Para empresas que coletam dados de clientes, a LGPD espera medidas técnicas razoáveis de proteção. Um relatório periódico dos cabeçalhos de segurança não é parecer jurídico nem certificação — é uma evidência simples e datada de que o básico está sendo verificado com regularidade. Auditorias, clientes corporativos e departamentos de compras costumam pedir exatamente esse tipo de rastro documentado antes de fechar contrato.
Casos de uso
E-commerce que guarda CPF e endereço
A loja virtual coleta CPF, endereço e telefone no checkout. O relatório mostrou CSP ausente e HSTS desligado; depois do ajuste, a nova análise entrou no dossiê de conformidade com data e resultado.
Item de entrega da agência
A TecnoSul anexa o teste de cabeçalhos ao checklist de lançamento de cada site. O cliente recebe o relatório junto com as chaves — um diferencial que ajuda a justificar o preço da entrega.
Portal de vagas com dados sensíveis
Um portal de currículos em Porto Alegre recebe dados pessoais o dia inteiro. A verificação dos cabeçalhos virou rotina mensal do dev responsável, com o histórico guardado como evidência de diligência.
Perguntas frequentes
Quais cabeçalhos entram na análise?
Os consagrados de segurança de navegador — entre eles HSTS, CSP, X-Frame-Options, X-Content-Type-Options e a política de referrer. O relatório indica presença, ausência e o papel de cada um.
Meu site está sem quase todos. Fui invadido?
Não é isso que o resultado diz. Ausência significa proteção não configurada, não invasão. A boa notícia: a maioria se ativa com poucas linhas de configuração.
O teste mexe em algo no meu site?
Não. A análise só lê a resposta que o seu servidor já entrega a qualquer visitante — nenhuma alteração, nenhuma tentativa de exploração.
Isso me deixa em conformidade com a LGPD?
Sozinho, não — conformidade envolve processos, base legal e mais coisas. O relatório é uma peça técnica que demonstra cuidado com a segurança de quem navega, e como evidência ele ajuda bastante.
Vocês corrigem os cabeçalhos para mim?
O serviço diagnostica; o ajuste acontece na configuração do seu servidor, proxy ou hospedagem. Com o relatório em mãos, o seu time (ou o suporte da hospedagem) sabe exatamente o que ativar.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/web/security-headers \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://api.kit.forhosting.com/web/security-headers", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/security-headers",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/security-headers", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/security-headers", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"url": "https://example.com"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.security_headers",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Faltar cabeçalho não é estar invadido
O relatório aponta ausências, não invasões: um site sem esses cabeçalhos não está necessariamente comprometido — está com portas encostadas que poderiam estar trancadas. A leitura certa é de prioridade: HTTPS forçado e proteção contra embutir a página em frames costumam ser os ajustes de melhor custo-benefício, e quase sempre se resolvem com poucas linhas na configuração do servidor ou do proxy da hospedagem.
Do relatório ao ajuste (e à nova conferência)
O ciclo é curto: rode a análise, ajuste a configuração do servidor, rode de novo e compare os resultados. A US$ 0,002 por URL, dá para verificar o site inteiro da empresa a cada sprint sem pesar no orçamento — e deixar a chamada agendada no seu fluxo garante que uma mudança de infraestrutura não derrube a proteção sem ninguém notar, que é como esses problemas costumam nascer.
Perguntas técnicas
Quanto custa auditar todas as páginas?
US$ 0,002 por URL. Um site com 50 páginas custa US$ 0,10 por rodada completa — dá para repetir a cada mudança de infraestrutura sem dó.