¿Es seguro permitir la carga de archivos HTML?

Por lo que puedo ver, los archivos HTML subidos se descargan como archivos normales (por ejemplo, archivos comprimidos o PDF), por lo que depende del usuario y de la configuración del navegador (abrir automáticamente después de la descarga, etc.) si se abren o no.

Sin embargo, este tema menciona algo sobre XSS…

Según mi comprensión, ¿no hay forma de interactuar con la página de Discourse desde el archivo descargado?
Así que lo peor que puede hacer es mostrar algún tipo de contenido de phishing.

En mi opinión, no es una buena idea.

Could you please elaborate why? :thinking:

¿Por la misma razón exacta por la que no querrías que aparecieran enlaces de phishing en una comunidad?

Discourse no es un servicio de mensajería directa ni de almacenamiento de archivos, ¿por qué usarlo solo para facilitar la descarga de archivos HTML? Seguramente el código está mejor alojado en algún lugar como GitHub.

A veces es más conveniente simplemente subir un archivo HTML que muestre un problema sencillo, etc., y si solo es un archivo, comprimirlo en un ZIP solo crea dificultades innecesarias.

El foro está dirigido principalmente a desarrolladores, por lo que es razonable asumir que saben lo que hacen al abrir el archivo descargado, reconocerán intentos de phishing, no introducirán contraseñas allí, lo reportarán rápidamente, etc.
Por lo tanto, la única preocupación es si es posible explotar vulnerabilidades, XSS, etc., al subir archivos HTML (en comparación con archivos ZIP que contienen HTML).

Como preferencia personal, prefiero no tener que descargar ningún archivo. Preferiría ver el código directamente en la publicación. Así que mi pregunta es…

¿Existe alguna razón por la que el HTML no se agregue directamente en las publicaciones como un bloque de código?

<section>
  <h1>Introducción</h1>
  <p>Las personas han pescado para alimentarse desde antes de la historia registrada…</p>
</section>

<section>
  <h1>Equipo</h1>
  <p>Lo primero que necesitarás es una caña o varilla de pesca que te resulte cómoda y sea lo suficientemente resistente para el tipo de pez que esperas capturar…</p>
</section>
...

De esta manera, sería visible de inmediato, no requeriría la descarga de ningún archivo y no ocuparía mucho espacio en la publicación, ya que forzamos barras de desplazamiento en los bloques de código que superan cierta altura. Además, no hay ningún riesgo de seguridad involucrado, ya que no se analizará en absoluto.

Puedo ampliar esta idea si esta solución te parece adecuada.

Sí, estoy de acuerdo en que generalmente es mejor hacerlo de esta manera, pero a veces la gente aún prefiere adjuntar archivos, por ejemplo, cuando son demasiado grandes o cuando quieren mostrar algún tipo de problema visual (es más fácil que copiar y pegar en un nuevo archivo, etc.).