📏 Otras reglas de prevención
Ideas/conceptos claves
Node.textContent - Web APIs | MDN
Apuntes
Prevención
- El texto siempre debe ser usado para fines de presentación
- Entre menos utilicemos operaciones relacionadas con un intérprete, más seguridad tendrá el sitio
- Si es usado para procesar datos (inputs), siempre debe ser validado y saneado
- Existen varios métodos peligrosos y no tan peligrosos al utilizar cadenas de texto
- eval ⇒ Recibe un texto y lo ejecuta en JavaScript
- document.write, innerHTML, outerHTML
- node.innerText*
- node.textContent
Mediante la URL
location.hash.split("#")
location.search.split("?")
- Cuando utilizamos parámetros en la URL de igual forma debemos tener cuidado con lo que se recibe
- En react su equivalente es utilizar el hook
useRouter()
const router = userRouter();
const currentAuthor = router.query.author
- Next.js ya trae un query builder y es por eso que ya tenemos
router.query
si bien elimina o mitiga uno de los riesgos de XSS no nos asegura que el valor sea sano
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?