X-Frame-Options
O cabeçalho X-Frame-Options é utilizado para indicar se o navegador deve ou não permitir que uma página seja renderizada em um <frame>, <iframe>, <embed> ou <object>.
Por que usar?
O objetivo principal é prevenir ataques de Clickjacking, garantindo que o conteúdo do seu site não seja incorporado em outros sites maliciosos que possam tentar enganar o usuário.
Como fazer vs Como não fazer
✅ Como fazer
- Utilize
DENY: A página não pode ser exibida em um frame, mesmo que seja o próprio site tentando incorporá-la. É a opção mais segura. - Utilize
SAMEORIGIN: A página só pode ser exibida em um frame se a origem do frame (o site pai) for a mesma da página. - Utilize em conjunto com a diretiva
frame-ancestorsdo CSP para suporte em navegadores modernos e antigos.
❌ Como não fazer
- Não deixe de configurar este cabeçalho (ou o CSP equivalente) em telas que realizam ações críticas (login, exclusão de dados, transferências).
- Evite o uso de
ALLOW-FROM(depreciado e sem suporte na maioria dos navegadores modernos). Utilizeframe-ancestorsno CSP se precisar permitir domínios específicos. - Não confie apenas no X-Frame-Options se precisar de uma política de segurança complexa; o CSP é muito mais flexível e robusto.