通过 <img>-tag 注入 javascript
Posted
技术标签:
【中文标题】通过 <img>-tag 注入 javascript【英文标题】:Injecting javascript thourgh <img>-tag 【发布时间】:2012-01-07 01:13:18 【问题描述】:我想知道是否可以通过 img-tag 注入一些 javascript 代码。场景是这样设置一个html页面
<img src="anotherdomain.com/someimage.jpg" />
另一个域是我的域。是否可以将对 /someimage.jpg 的调用重定向到另一个包含请求图像时执行的 som javascript 代码的文件?
【问题讨论】:
不知道为什么这被否决了。这是一个合理的问题,而不是可以通过互联网搜索轻松找到答案的问题。 这是一个很好的问题,因为 IE 有遵守服务器发送的 Content-Types 的历史,无论它们是什么。幸运的是,这似乎不再是这样了。 【参考方案1】:没有。问题(如果你想这样称呼它)是有问题的 URL 被解释为图像数据,而不是 JS 脚本。因此,无论它是什么或如何重定向,它都不会被评估为 JS。
注意:
【讨论】:
【参考方案2】:浏览器不应尝试将通过<img>
标记接收的代码作为JavaScript 执行。该脚本将被传送到浏览器,但取而代之的是无法显示的损坏图像。
作为基本安全原则,浏览器只会执行在<script>
标记或onclick,onmouseover,onmouseout,etc...
属性中收到的脚本
【讨论】:
所以你唯一能做的“有趣”的事情就是将它重定向到另一个图像? @MathiasBak 差不多 - 或者发送一个非常大的文件,占用客户端(和源服务器)的带宽。【参考方案3】:不,目前所有主流浏览器都不会接受 javascript 代码
【讨论】:
以上是关于通过 <img>-tag 注入 javascript的主要内容,如果未能解决你的问题,请参考以下文章
React/Ionic:不通过 <img/> 标签渲染 SVG