扫码关注官方订阅号
这块 网上挺多,一直没有找到比较好的解决方案,求大神
业精于勤,荒于嬉;行成于思,毁于随。
你需要这个屌屌的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("..................");
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你需要这个屌屌的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("..................");