首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用fancybox图片库实现图像标题中的js

利用fancybox图片库实现图像标题中的js
EN

Stack Overflow用户
提问于 2011-06-15 04:17:14
回答 1查看 669关注 0票数 0

我正在使用fancybox(如js弹出库一样的光照盒)来显示照片,并在弹出窗口中显示它的标题。照片由用户上传并提供标题。在html中显示照片时,我也逃过了图片标题。html标记很简单,如:

<a href="/files/909221123.large.JPG" title="sample image &lt;script&gt;alert('test')&lt;/script&gt;"><img src="/files/909221123.medium.JPG"></a>

如您所见,title中的js标记被转义了。但是,当显示在fancybox弹出窗口中时,它会不加考虑地运行--我单击图片提示js警报弹出,然后显示带有照片的fancybox弹出。

这是一个XSS问题,但我认为这是非常明显的,而且fancybox不应该有这样的问题。我在这里做错什么了吗?以及如何修复它?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-06-15 04:19:58

听起来,Fancybox将该字符串视为HTML而不是文本。

你可以破解这个插件。有处理标题的代码,例如..。

代码语言:javascript
复制
return '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>'

正如您所看到的,当title出现时,它已经解决了它的实体。

否则,您可以删除字符串的一部分,这些字符串看起来像带有regex的HTML标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6352943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档