2011-11-26 61 views
14

我想知道是否有可能通过img-tag注入一些javascript代码。场景是,像这样设置一个html页面注入JavaScript您是否<img> -tag

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

Anotherdomain是我的域名。是否可以将/someimage.jpg的调用重定向到另一个包含som javascript代码的文件,该代码在请求图像时执行?

+2

不知道为什么这是downvoted。这是一个合理的问题,而不是通过互联网搜索很容易找到答案的问题。 –

+0

这是一个很好的问题,因为IE有服从服务器发送的内容类型的历史,不管它们是什么。幸运的是,情况似乎不再是这样。 – mdenton8

回答

8

接受JavaScript代码的浏览器不应该试图执行通过<img>标签,如JavaScript接收的码。该脚本将被传送到浏览器,但在它的位置将是一个无法显示的破碎图像。

浏览器将只执行脚本的<script>标签或onclick,onmouseover,onmouseout,etc...属性为基本原则的安全

+0

所以你可以做的唯一“有趣”的事情是将其重定向到另一个图像? –

+2

@MathiasBak差不多 - 或者发送一个非常大的文件,占用客户端(和源服务器)的带宽。 –

+0

谢谢你的提示。 –

2

没有,所有主要的浏览器不会在这一点上

1

号的问题(如果你想这样称呼它)是有问题的URL被解释为图像数据接收,而不是作为JS脚本。所以不管它是什么或者它是如何重定向的,它都不会被评估为JS。

注意:<脚本>标签工作跨域,所以你应该使用它。