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
- input.replace("<" || ">", "")
- input.sanitize(/</g, "<"). sanitize(/>/g, ">")
- input.sanitize ("<", "<"). sanitize (">", ">")
- input.sanitizeAll("<" || ">", "")
- input.replace(/</g, "<").replace(/>/g, ">")
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A lacuna é preenchida por input.replace(/</g, "<").replace(/>/g, ">"). 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 "<" e ">" em ">", 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