xinyu198736/htmljs — pull request #9 by teamrun (2014-07-13 16:05:31+00:00)
Title: 修改tooltip插件的setContent方法, 在"输出"环节避免xss问题

看了readme之后就没有尝试在自己的环境里跑起来.
> 本站代码仅供参考，缺少配置文件在本地不能运行

当前使用的tooltip插件版本为2.0.x, setContent方法是将data-original-title属性的值直接填充为html, 对于xss的输出环节没有严格把控.
> XSS的存在，一定是伴随着输入，与输出2个概念的。

最新的bootstrap已经允许在opt里选择是用html合适text方式填充.

在这里简单修改setContent方法, 将获取的属性值两次replace去掉尖括号,可以避免大部分的脚本注入. 如果需要更加全面严格的过滤, 可以用专门的库来做这个工作,如package.json里依赖的xss模块.

由于没有全面了解html-js.com站中tooltip的使用场景(可以看到的有新人, 专栏, 部分btn), 所以没有贸然的直接换用text填充.

and 直接把补丁放在bootstrap-tooltip源文件里了, 如果有构建工具的话会把这部分补丁拿出来上线前合并.

by the way, 开发环境不一样, 在win和mac打开一遍文件就全部修改了, 最后是在线做的修改...