O que é X-Frame-Options

Armando Couto 🇧🇷
programming to live
3 min readMay 22, 2023

--

Photo by pine watt on Unsplash

X-Frame-Options é um cabeçalho de resposta HTTP usado para controlar como um site pode ser exibido em um iframe em outro site. Ele fornece uma medida de segurança para proteger sites contra ataques de clickjacking.

O clickjacking é uma técnica na qual um site malicioso oculta ou “sequestra” um site legítimo em um iframe, enganando os usuários para que cliquem em elementos não intencionais ou executem ações indesejadas sem o seu conhecimento. O cabeçalho X-Frame-Options ajuda a mitigar esse tipo de ataque, permitindo que os desenvolvedores restrinjam a forma como seus sites são incorporados em iframes em outros domínios.

Existem três opções principais que podem ser definidas para o cabeçalho X-Frame-Options:

1. “DENY”: Isso impede completamente que o site seja exibido em um iframe em qualquer domínio. Isso garante que o conteúdo do site não possa ser sequestrado em um iframe, oferecendo a máxima proteção contra clickjacking.

2. “SAMEORIGIN”: Isso permite que o site seja incorporado em iframes somente em páginas do mesmo domínio. Ou seja, o site pode ser exibido em um iframe apenas se o domínio do site no iframe corresponder exatamente ao domínio do site original. Isso restringe a exibição do site em iframes de outros domínios, mas permite a incorporação dentro do mesmo domínio.

3. “ALLOW-FROM uri”: Essa opção permite que o site seja exibido em iframes apenas em um domínio específico, especificado pela URI. Por exemplo, “ALLOW-FROM https://www.exemplo.com" permitirá que o site seja incorporado em um iframe somente quando estiver sendo exibido no domínio “https://www.exemplo.com".

O uso do cabeçalho X-Frame-Options ajuda a proteger os sites contra ataques de clickjacking, fornecendo controle sobre a forma como o conteúdo é incorporado em iframes. É uma medida importante de segurança, especialmente para sites que lidam com informações confidenciais ou executam ações críticas. No entanto, é importante observar que o cabeçalho X-Frame-Options está sendo substituído pelo cabeçalho Content-Security-Policy (CSP) com a diretiva “frame-ancestors” em muitos navegadores modernos.

Configurando o X-Frame-Options no Apache e Nxing

Para configurar o cabeçalho X-Frame-Options no servidor Apache, você pode adicionar as seguintes linhas ao arquivo de configuração do site ou ao arquivo .htaccess:

Header always append X-Frame-Options SAMEORIGIN

Essa configuração definirá o cabeçalho X-Frame-Options como “SAMEORIGIN”, permitindo que o site seja incorporado somente em iframes de páginas do mesmo domínio.

No caso do servidor Nginx, você pode adicionar o seguinte trecho de código ao bloco de servidor no arquivo de configuração:

add_header X-Frame-Options SAMEORIGIN;

Após fazer essa alteração, reinicie o servidor Apache ou Nginx para que as configurações entrem em vigor.

Lembre-se de que essas configurações são apenas exemplos usando a opção “SAMEORIGIN”. Você pode alterar para “DENY” ou “ALLOW-FROM uri” conforme necessário, dependendo dos requisitos de segurança do seu site.

Além disso, como mencionado anteriormente, o cabeçalho X-Frame-Options está sendo substituído pelo cabeçalho Content-Security-Policy (CSP) com a diretiva “frame-ancestors” em muitos navegadores modernos. Portanto, é recomendável considerar o uso do CSP para uma configuração mais abrangente de segurança de conteúdo.

Configurando na linguagem Golang

Conteúdo de Apoio

Tenho alguns outros tutoriais que podem ajudar, clique aqui para acessá-los.

Este texto foi útil? Então clique nas palminhas para avaliá-lo e incentivar a produção de novos artigos.

Até mais!

--

--