FC ConcursosFC Concursos

Questão FC373342

Uma das técnicas para proteger um campo de uma página HTML de ataque de Cross-Site Scripting (XSS) é executar uma operação de substituição no valor string de entrada para sanitizar

Desenvolvimento Web

FCC · 2023

Uma das técnicas para proteger um campo de uma página HTML de ataque de Cross-Site Scripting (XSS) é executar uma operação de substituição no valor string de entrada para sanitizar os caracteres < e>. Considere o script JavaScript abaixo.

 

<script>

var sanitizado;

function sanitizar (input) {

sanitizado = ...I... ;

document.getElementById("output").textContent = sanitizado;

}

</script>

 

Para sanitizar o conteúdo da string input a lacuna I deve ser preenchida pelo comando

  1. input.replace("<" || ">", "")
  2. input.sanitize(/</g, "&lt;"). sanitize(/>/g, "&gt;")
  3. input.sanitize ("<", "<"). sanitize (">", ">")
  4. input.sanitizeAll("<" || ">", "")
  5. input.replace(/</g, "&lt;").replace(/>/g, "&gt;")
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A lacuna é preenchida por input.replace(/</g, "&lt;").replace(/>/g, "&gt;"). Esse comando aplica duas substituições encadeadas para converter os sinais de menor e maior em suas entidades HTML.

O método replace com expressão regular /</g e />/g usa o modificador g (global) para trocar todas as ocorrências de "<" e ">" na string, não apenas a primeira.

Ao transformar "<" em "&lt;" e ">" em "&gt;", o navegador passa a tratar esses caracteres como dados, não como marcação HTML, impedindo que tags ou scripts injetados sejam interpretados.

Essa sanitização simples é eficaz para bloquear inserção direta de elementos HTML/JS no conteúdo que será exibido. Em conjunto com o uso de textContent, garante que o texto seja mostrado sem execução de código.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo