Muchos navegadores (pero no todos) vienen con protección XSS incorporada que se puede activar con un encabezado HTTP:
X-XSS-Protection: 1; mode=block
Tal como lo entiendo, evita los ataques XSS reflejados al verificar que el documento no contenga partes de la cadena de consulta que tengan un aspecto sospechoso a medida que avanza. Para un SPA moderno esto no es muy útil. El HTML cargado directamente desde el servidor a menudo es solo estático, y todo lo interesante ocurre después de que la página se haya cargado.
¿Hay algún navegador que tenga filtros XSS que también impida XSS basados en DOM? Un filtro como ese comprobaría, por ejemplo, que algo pasado a .innerHTML
no es un reflejo malicioso de la cadena de consulta ni de ninguna otra entrada del usuario, como un cuadro de texto.
¿Esto es una cosa? ¿Tengo algo que ganar al habilitar el filtro XSS en un SPA?