Añadir la extensión de archivo .svg a "archivos de imagen"

Un foro de Discourse que uso tiene la configuración predeterminada para permitir solo “archivos de imagen”, sin embargo, los archivos .svg dicen que “no están autorizados”, mientras que los archivos .svg son imágenes, solo que vectoriales en lugar de rasterizadas, lo que significa que se pueden escalar sin perder calidad. Además, los tamaños son comparables, si no menores, cuando convertí un .png a un .svg:

  • El archivo .png tenía 8190 bytes.
  • El archivo .svg tenía 4273 bytes.

Entonces, ¿hay alguna razón por la que un archivo .svg no se trate como un archivo de imagen?

2 Me gusta

Un administrador establece los tipos de archivo aceptados. SVG no está ahí por defecto, pero se puede añadir desde la configuración authorized_extensions. Si se lo preguntas a tu administrador, ¿quizás lo considerará?

5 Me gusta

El problema es que los administradores ignoran los mensajes directos, citando uno:

Y ignoran el 99,9% de los hilos en los foros.

2 Me gusta

¿Hay una categoría de Site feedback en la que puedas hacer ese tipo de solicitudes? ¿O tal vez contactarlos desde la dirección de correo electrónico en la página /about del foro?

1 me gusta

¿No es este un posible riesgo de seguridad, a menos que el archivo se limpie?

1 me gusta

Me temo que no sé la respuesta completa a eso, pero creo que Discourse realiza algunas comprobaciones como parte de la carga.

2 Me gusta

Ese no es un problema que se pueda resolver aquí. Si no te gusta cómo se administra el foro, entonces no lo uses o crea el tuyo propio.

4 Me gusta

@pfaffman, creo que es: las configuraciones predeterminadas sensatas significan menos duplicación de esfuerzos. Podría pedir a todos los administradores que habiliten la carga de SVG, como otros lo han hecho:

…o podría pedirle a Meta que lo establezca como predeterminado. En ese punto, estoy de acuerdo con @Ondrashek06.

¡Bueno, 4 años después estoy totalmente de acuerdo!

3 Me gusta

@pfaffman, ¡gracias!

1 me gusta

Es muy probable que haya una razón que no entiendo y que hace que sea una mala idea incluirlo por defecto. :person_shrugging:

1 me gusta

@pfaffman, presumiría que es para saneamiento, porque es un formato muy potente. Sin embargo, considerando que se admite HTML en línea y otros foros admiten SVG, definitivamente no es insuperable, especialmente porque parecen estar permitidos aquí:

Para demostrarlo, el siguiente es un SVG:

1 me gusta

Entonces…

SVG se desinfecta.

En el momento en que leí el código, mi juicio fue que la desinfección era bastante robusta y eso me dio la confianza para habilitarla en mi sitio.

Puedo entender si CDCK no quiere la responsabilidad de tomar esa decisión para todos, especialmente porque el SVG desinfectado no satisface todas las necesidades para los SVGs. Por ejemplo, en mi sitio, a veces la gente publica SVGs destinados al corte por láser, y ocasionalmente las modificaciones aplicadas en esa desinfección los han roto silenciosamente para ese propósito.

Así que entiendo la reticencia a habilitarlo por defecto, aunque fue una pequeña molestia para mí cuando estaba haciendo la configuración.

3 Me gusta

@mcdanlj, Blender, presumiblemente a través de un plugin, permite la carga de archivos. Eso es inaplicable por defecto, pero puede ayudar a tu foro, porque tus SVG son principalmente para usos distintos de la representación en línea.

1 me gusta

En mi caso, queremos ambos comportamientos de vez en cuando… Así que tendríamos personas que suben un archivo ZIP donde es importante que estemos viendo un archivo byte a byte. Nueve de cada diez veces, nos resulta más útil verlo en línea sin descargarlo, incluso con la sanitización.

(¡Sí, nos gustaría tener nuestro pastel y comérnoslo también! :rofl:)

@mcdanlj, no estoy seguro de que renderizar SVGs en línea sin sanitizar sea teóricamente factible.

No quise decir eso; los SVG en línea no sanitizados son un vector de ataque CSS.

Quise decir poder elegir en el momento de la carga si se sanitiza como un SVG de visualización o se deja sin renderizar como una carga. Pero, en realidad, aún más perfecto sería una visualización en línea sanitizada, pero si haces clic en descargar, obtienes la versión original no sanitizada.

Esta no es una sugerencia de función seria. Es solo lo que sería perfecto para un caso de uso extraño. :smiley:

1 me gusta

@mcdanlj, porque, creo que un plugin es lo que proporciona las capacidades de carga de archivos de Blender, si eso también es cierto para ti, valdría la pena publicarlo como una solicitud de función en el rastreador de problemas del repositorio del plugin. Si, en cambio, está en el núcleo, estoy de acuerdo en que sería muy útil, pero podría ser mejor rastrearlo en una publicación separada.

Gracias @pfaffman, he llevado esto a la atención del equipo y estamos de acuerdo en que esto ahora tiene sentido como valor predeterminado. He aprobado y fusionado el PR :slight_smile:

2 Me gusta