Logo da CarameloSec - Plataforma de análise de segurança automatizada

X-Frame-Options Value

Checker ID: #14

v2.0.0-alpha

X-Frame-Options Value

Descrição

A versão clássica da proteção contra Clickjacking, mantida para garantir compatibilidade com navegadores mais antigos.

Importância

Impede que seu site seja escondido sob botões falsos. Aceitamos tanto o bloqueio total quanto a permissão para exibir o site dentro dele mesmo (útil para modais e previews internos).

Requisitos de Sucesso
  • • O cabeçalho deve estar presente e conter um único valor: DENY (bloqueio total — ninguém pode exibir o site em iframe) ou SAMEORIGIN (apenas o próprio site pode exibir suas páginas em iframe).

  • • Apenas um único valor é aceito por vez.

Cenários de Teste
Cenário Aprovado: Bloqueio total (recomendado para sites sem necessidade de embedding):
HTTP/1.1 200 OK
X-Frame-Options: DENY
Content-Type: text/html; charset=UTF-8
Cenário Aprovado: Permite apenas o próprio site (útil para modais e previews internos):
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=UTF-8
Cenário Reprovado: Valor inválido (ALLOW-FROM era uma extensão não padronizada e foi removida dos navegadores modernos — não oferece proteção real):
HTTP/1.1 200 OK
X-Frame-Options: ALLOW-FROM https://example.com
Content-Type: text/html; charset=UTF-8
Cenário Reprovado: Cabeçalho ausente (sem proteção contra Clickjacking para navegadores antigos):
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
v1.0.0-alpha

X-Frame-Options Value

Descrição

Essa é a versão clássica da regra do “não me clone”, mantida principalmente para garantir compatibilidade com navegadores mais antigos, impedindo que outros sites exibam uma cópia da sua aplicação dentro de uma janela (iframe).

Importância

Isso evita o clickjacking, um tipo de ataque em que um site malicioso coloca o seu site escondido no fundo da tela e sobrepõe botões falsos por cima. Por exemplo, o usuário acha que está clicando em “Ganhe um prêmio”, mas na verdade está clicando em um botão perigoso do seu próprio site, como “Excluir conta”. Mesmo existindo proteções mais modernas (como o frame-ancestors do CSP), esse cabeçalho continua importante porque também funciona em navegadores antigos.

Requisitos de Sucesso
  • • O cabeçalho X-Frame-Options deve estar presente e conter estritamente o valor DENY (Ninguém vai conseguir mostrar a sua aplicação em um iframe/janela).

  • • Apenas um único valor é aceito: DENY.

Cenários de Teste
Cenário Aprovado: O cabeçalho X-Frame-Options está presente e contém o valor DENY:
HTTP/1.1 200 OK
Date: Wed, 17 Dec 2025 11:45:00 GMT
Server: nginx/1.18.0
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Strict-Transport-Security: max-age=31536000
X-Frame-Options: DENY
Last-Modified: Mon, 01 Dec 2025 10:00:00 GMT
ETag: "5f8c-60d4-1a2b"
Cache-Control: max-age=3600
Content-Length: 1540
Cenário Reprovado: O cabeçalho X-Frame-Options está ausente (sem proteção contra Clickjacking para navegadores antigos):
HTTP/1.1 200 OK
Date: Wed, 17 Dec 2025 11:45:00 GMT
Server: nginx/1.18.0
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Strict-Transport-Security: max-age=31536000
Last-Modified: Mon, 01 Dec 2025 10:00:00 GMT
ETag: "5f8c-60d4-1a2b"
Cache-Control: max-age=3600
Content-Length: 1540
Cenário Reprovado: O cabeçalho X-Frame-Options está presente mas contém o valor SAMEORIGIN — esta versão do checker exige bloqueio total (DENY):
HTTP/1.1 200 OK
Date: Wed, 17 Dec 2025 11:45:00 GMT
Server: nginx/1.18.0
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Strict-Transport-Security: max-age=31536000
X-Frame-Options: SAMEORIGIN
Last-Modified: Mon, 01 Dec 2025 10:00:00 GMT
ETag: "5f8c-60d4-1a2b"
Cache-Control: max-age=3600
Content-Length: 1540