1
resposta

[Dúvida] inner.HTML

Olá, fui ver a documentação do javascript no mozilla (https://developer.mozilla.org/pt-BR/docs/Web/API/Element/innerHTML), e neste consta o seguinte: "Não é incomum ver a propriedade innerHTML usada para inserir texto em uma página web. Isso vem com um risco de segurança." Gostaria de entender o motivo de usarmos o inner.HTML para inserir texto pode ser ruim para a segurança, ou se eu entendi errado e podemos usar sem problemas.

1 resposta

Oi, Felipe, tudo bem?

A propriedade innerHTML é comumente utilizada para inserir texto ou conteúdo HTML em um elemento da página. No entanto, é importante ter cuidado ao utilizá-la, pois ela pode apresentar riscos de segurança se não for usada corretamente.

O principal risco está relacionado à possibilidade de inserção de código malicioso, como scripts, através do innerHTML. Por exemplo, se você permitir que usuários insiram conteúdo diretamente no innerHTML de uma página, eles podem inserir scripts que executem ações indesejadas, como roubo de informações ou redirecionamento para sites maliciosos.

Para evitar esses riscos, é recomendado que você limpe o conteúdo antes de inseri-lo no innerHTML. Isso significa remover qualquer código potencialmente perigoso ou indesejado. Existem bibliotecas e frameworks disponíveis que podem ajudar nesse processo, como o "DOMPurify", que é amplamente utilizado para limpar conteúdo HTML.

Além disso, é importante também validar e filtrar qualquer entrada de usuário antes de inseri-la no innerHTML. Isso evita que conteúdos maliciosos sejam aceitos e exibidos na página.

Portanto, o uso do innerHTML não é ruim em si, mas é necessário ter cuidado ao utilizá-lo para evitar problemas de segurança. Lembre-se sempre de limpar e validar o conteúdo antes de inseri-lo no innerHTML.

Espero ter ajudado. Caso tenha dúvidas, não hesite em postar no fórum!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!