这块 网上挺多,一直没有找到比较好的解决方案,求大神
你需要这个屌屌的XSS过滤模块:http://jsxss.com/zh/index.html在线演示:http://jsxss.com/zh/try.html
简单使用方法:
在页面中引入文件http://rawgit.com/leizongmin/js-xss/master/dist/xss.js
http://rawgit.com/leizongmin/js-xss/master/dist/xss.js
filterXSS('任何HTML代码'); // => 将返回经过滤安全无害的HTML代码
另外这个XSS过滤模块支持白名单过滤配置,你可以定制适合自己场景的过滤规则。
用正则过滤“<“---”>”,把获取的内容做转义处理
个人临时解决办法:个人写的一个正则
return str.replace(/<script/g, "<script").replace(/script>/g, 'script>').replace(/<img/g, "<img").replace(/<script.*>.*<\/script.*>/g, "").replace(/on(error|mousewheel|mouseover|click|load|onload|submit|focus|blur|start)=[^"]*/g, "");
富文本显示,过滤script,过滤onerror这个有个问题就是js过滤不了了
还是求一个最终解决办法
var chars={ char: function (str, reg) { return str ? str.replace(reg || /[&<">'](?:(amp|lt|quot|gt|#39|nbsp);)?/g, function (a, b) { if (b) { return a; } else { return { '<':'<', '&':'&', '"':'"', '>':'>', "'":''' }[a] } }) : ''; }, html:function (str) { return str ? str.replace(/&((g|l|quo)t|amp|#39);/g, function (m) { return { '<':'<', '&':'&', '"':'"', '>':'>', ''':"'" }[m] }) : ''; } };
调用chars.char("..................");还原chars.html("..................");
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
你需要这个屌屌的XSS过滤模块:http://jsxss.com/zh/index.html
在线演示:http://jsxss.com/zh/try.html
简单使用方法:
在页面中引入文件
http://rawgit.com/leizongmin/js-xss/master/dist/xss.js
另外这个XSS过滤模块支持白名单过滤配置,你可以定制适合自己场景的过滤规则。
用正则过滤“<“---”>”,把获取的内容做转义处理
个人临时解决办法:个人写的一个正则
富文本显示,过滤script,过滤onerror
这个有个问题就是js过滤不了了
还是求一个最终解决办法
调用chars.char("..................");
还原chars.html("..................");