Ir ao conteúdo

HTML Firefox e Chrome com CSP - Content-Security-Policy


Ir à solução Resolvido por Jeff55,

Posts recomendados

Postado

Olá,

Tenho um site, não comercial, há mais de 20 anos. 
Inicialmente ele usava o antigo Frameset.
Hoje, melhorou só um pouco e o adaptei com iframe. 

 

Tenho mais de 100 páginas no mesmo site e todas estão no mesmo servidor (Apache 2.4). Não sou programador e nem especialista em nenhuma linguagem na web. Tenho apenas conhecimento superficial em html. Não tenho objetivos comerciais, não viso lucro pois o meu site é apenas pessoal. Sei que o meu site tem uma aparência antiga, fora dos padrões e recursos atuais. Então pequenos ajustes já serão suficientes.

 

Há pouco tempo passei a usar as 'Security Headers' configuradas no .htaccess. Só houve um problema com a CSP - Content-Security-Policy, pois o Firefox e o Chrome desconfiguram o site, que tem um Iframe. O Edge, Opera e todos os outros Browsers mais conhecidos navegam bem.

 

Já desabilitei todas as extensões e temas desses navegadores.

Estou usando a CSP dessa forma: 

Header set Content-Security-Policy "default-src 'self'; script-src 'self'; img-src 'self'; style-src 'self';base-uri 'self'; form-action 'self'"

 

 

Já tirei um por um até ficar assim:

Header set Content-Security-Policy "default-src 'self'"

 

Mas o problema continua no Chrome e Firefox. Alguma sugestão?

 

Apenas como informação:

Aí vai a aparência do site normal e desconfigurado, usando o Chrome e Firefox: 


 

Site normal.jpg

 

Site-Com CSP-Desconfigurado-2.jpg

Postado

Depois de muito pesquisar, achei no site: 
https://www.limesurvey.org/manual/Installation_security_hints
a solução para que, tanto o Firefox quanto o Chrome aceitassem uma política de Segurança Content-Security-Policy  para sites que usam Iframes.

 

Muitos falam que  'unsafe-inline'  é perigoso. No entanto pesquisei e vi que o valor 'unsafe-inline' pode ser utilizado nas diretivas script-src e style-src, para permitir a inclusão de códigos CSS e JavaScript inline, ou seja, códigos que não estão em arquivos separados da página, mas sim declarados juntamente com o código HTML.

 

Bom, pelo menos, o código abaixo foi o único que funcionou para o meu iframe:

 

<IfModule mod_headers.c>
  
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; base-uri 'none'; form-action 'self'; frame-ancestors 'self'; upgrade-insecure-requests" "expr=%{CONTENT_TYPE} =~ m#text\/(html|javascript )|application\/pdf|xml#i" 

</IfModule>

 


 

  • 3 meses depois...
  • Solução
Postado

Achei a raiz do problema.
Na verdade, não tem nada a ver com o fato do meu site ter <iframe>
O problema é que os Styles estavam todos INLINE, daí o a necessidade da diretiva "unsafe-inline".

Fui direto no ChatGPT e ele matou o problema em segundos.

Tirei todos os Styles e Scripts INLINE, coloquei tudo em Pastas separadas, coloquei o link para cada Arquivo.css e Arquivo2.js, tirei o bendito "unsafe-inline" que é bem arriscado de usar, e o site tá rodando muito bem.

Espero que tal dica sirva para outras pessoas que usam os styles e scripts inline e tenham o site desconfigurado com o CSP - Content-Security-Policy.


 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!