1
resposta

Meu codigo Troquei o innerHTML por innerText

Troquei o innerHTML por innerText pois o innerHTML pode não passar em projetos com sonnar por constar como vulnerabilidade.
Fiz um pouco diferente as funções tbm mas no final chegou ao resultado.
https://github.com/amd-lima/Fokus

1 resposta

Oi, Amanda.

Parabéns pela iniciativa de olhar para o código com foco em segurança. Você tocou em um ponto muito importante sobre o desenvolvimento front-end. O uso do innerText (ou textContent) em vez do innerHTML é uma excelente prática para evitar ataques de Cross-Site Scripting (XSS).

Quando usamos innerHTML, o navegador interpreta qualquer texto dentro da string como código HTML. Se houver algo malicioso vindo de uma fonte externa, ele pode ser executado. Com innerText, o navegador trata tudo estritamente como texto puro, neutralizando esse risco.

Aqui estão alguns pontos interessantes sobre como você estruturou sua lógica:

Segurança e performance

  • Proteção com SonarQube: Ferramentas de análise estática como o Sonar realmente sinalizam o innerHTML como um alerta de segurança. Substituí-lo mostra que você está pensando além da funcionalidade e focando na qualidade técnica do projeto.
  • Manipulação de DOM: Ao usar innerText para os títulos e appendChild para reintegrar o elemento strong, você garantiu que a estrutura visual fosse preservada sem abrir brechas de segurança.

Organização do Código

Você organizou bem a lógica de troca de temas dentro do switch. Uma pequena sugestão para deixar o código ainda mais limpo seria concentrar as strings de texto em um objeto de configuração, mas a forma como você fez com o switch é perfeitamente clara e funcional.

Você está no caminho certo ao se preocupar com as mensagens do Sonar e com a integridade do seu código. Continue com essa mentalidade de buscar alternativas mais seguras para as funções padrão.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!