2012-09-26 5 views
5

Secondo questo answer "per motivi di sicurezza le immagini devono essere file indipendenti". Cioè, quando si include un file SVG utilizzando un tag img, non può fare riferimento a fogli di stile esterni."Restrizioni di sicurezza" quando si collega a un foglio di stile esterno da SVG (quando incorporato come immagine)

Penso di aver avuto lo stesso problema quando cercavo di includere SVG come immagini di sfondo usando CSS. Gli SVG si collegano ad altri file SVG e visualizzano correttamente quando li si visualizza in Firefox direttamente, ma non riescono a mostrare il contenuto collegato quando è incluso come immagine di sfondo CSS.

Quali sono questi "motivi di sicurezza" e dove posso trovare ulteriori informazioni su di essi?

risposta

5

Si consideri un forum ipotetico che consente di immagini SVG come avatar. Se le risorse esterne sono stati autorizzati un imbroglione/utente malintenzionato potrebbe caricare un file in formato SVG che contiene <image xlink:href="http://evilhacker.com/myimage.png"> e (ammesso che controllano evilhacker.com), che potevano fare qualsiasi & tutte le seguenti operazioni:

  • ricevono un ping a proprio dominio ogni volta che qualcuno vede il loro profilo (& registro l'indirizzo IP della persona che visualizza esso)
  • potenzialmente servire avatar diverso aspetto a persone diverse in base loro indirizzo IP, di richiesta-headers, ecc
  • potente cambiare l'aspetto del loro avatar a volontà (ad es. attendere per forum-amministratori di approvarlo pollice in su, e poi cambiare per essere NSFW)

Vedi this Mozilla bug e the SVG integration specification per maggiori dettagli.

+3

Grazie per il collegamento. Questo risponde alla mia domanda, anche se è un peccato che non possiamo avere un qualche tipo di politica della stessa origine per gli SVG. Ah, beh, credo che dovrò attenermi alla mia soluzione originale che prevedeva l'uso dell'iniezione lato server per aggirare il problema. – FixMaker

Problemi correlati