2012-09-26 9 views
5

De acuerdo con este answer "por razones de seguridad, las imágenes deben ser archivos independientes". Es decir, cuando se incluye un archivo SVG usando una etiqueta img, no puede hacer referencia a ninguna hoja de estilo externa."Restricciones de seguridad" cuando se vincula a una hoja de estilo externa desde SVG (cuando está incrustado como una imagen)

Creo que me he encontrado con el mismo problema al tratar de incluir SVG como imágenes de fondo usando CSS. Los archivos SVG se vinculan a otros archivos SVG y se muestran bien al verlos en Firefox directamente, pero no muestran el contenido vinculado cuando se incluye como imagen de fondo de CSS.

¿Cuáles son estos "motivos de seguridad" y dónde puedo obtener más información al respecto?

Respuesta

5

Considera un foro hipotético que permite imágenes SVG como avatares. Si se permitiera recursos externos a/usuario malicioso tramposo podría cargar un archivo SVG que contiene <image xlink:href="http://evilhacker.com/myimage.png"> y (suponiendo que controlan evilhacker.com), que podían hacer cualquier & todo lo siguiente:

  • recibir un ping a su propio dominio siempre que alguien ve su perfil (& registro de la dirección IP de la persona que lo)
  • servir potencialmente avatar de aspecto diferente a diferentes personas sobre la base su dirección IP, solicitud de cabeceras, etc.
  • potente cambiar ialmente la apariencia de su avatar a voluntad (es decir esperar para el foro son administradores de la aprueban pulgar hacia arriba, y luego cambiarlo a ser NSFW)

Ver this Mozilla bug y the SVG integration specification para más detalles.

+3

Gracias por el enlace. Eso responde mi pregunta, aunque es una pena que no podamos tener algún tipo de política de origen similar para los SVG. Ah, bueno, supongo que tendré que seguir con mi solución original, que consistía en utilizar la inyección del lado del servidor para solucionar el problema. – FixMaker

Cuestiones relacionadas