2011-11-26 20 views
14

Mi piacerebbe sapere se è possibile iniettare del codice javascript tramite un tag img. Lo scenario è quello si imposta una pagina HTML come questoIniezione javascript thourgh <img> -tag

<img src="anotherdomain.com/someimage.jpg" /> 

anotherDomain è il mio dominio. È possibile reindirizzare la chiamata a /someimage.jpg in un altro file contenente il codice javascript che viene eseguito quando viene richiesta l'immagine?

+2

Non so perché questo è stato downvoted. È una domanda ragionevole e non una che la risposta possa essere facilmente trovata da una ricerca su Internet. –

+0

È una buona domanda visto che IE ha una storia di obbedienza ai Content-Types inviati dai server, indipendentemente da cosa siano. Sembra che questo non sia più il caso, per fortuna. – mdenton8

risposta

8

Il browser non dovrebbe fare un tentativo di eseguire codice ricevuto tramite un <img> tag come JavaScript. Lo script verrebbe consegnato al browser, ma al suo posto sarebbe un'immagine spezzata che non può essere visualizzata.

browser verranno eseguiti solo gli script ricevuti in un <script> tag o onclick,onmouseover,onmouseout,etc... attributi come un principio di sicurezza di base

+0

quindi l'unica cosa "divertente" che puoi fare è ridirigerla a un'altra immagine? –

+2

@MathiasBak Praticamente o invia un file molto grande, che consuma la larghezza di banda del client (e del server di origine). –

+0

Grazie per il suggerimento. –

2

no, tutti i principali browser non accetterà il codice javascript, a questo punto

1

No. Il problema (se si vuole chiamare così) è che l'URL in questione viene interpretato come dati di immagine , non come uno script JS. Quindi, indipendentemente da cosa sia o da come viene reindirizzato, non verrà valutato come JS.

Nota: <script> i tag funzionano in più domini, quindi probabilmente dovresti semplicemente usarlo.

Problemi correlati