被注入js脚本的xss的解决方法
2017-01-10 15:20
218 查看
acelan的解决方法
// acelan fix xss // 20170110 假红包注入事件 function encodeHTML(source) { return String(source) .replace(/&/g, '&') .replace(/</g, '<') .replace(/>/g, '>') .replace(/"/g, """) .replace(/'/g, "'"); } 自己的解决方法 stripTag: function (params) { return document.createElement('del').appendChild(document.createTextNode(params)).parentNode.innerHTML; }, // by acelan,紧急过滤掉黑名单中的标签,不严谨的做法,作为富文本应该使用白名单方式 // 当前过滤的标签为script img style link iframe // // var blacklist = 'script img style link iframe'.split(' ').join('|'); // var re = new RegExp('<(' + blacklist +')>(.*)<\/(' + blacklist + ')>|<(' + blacklist +') [^/]*/>|<(' + blacklist +') [^>]*>', 'gi');
富文本处理方法
richtext: function(data) { // by acelan,紧急过滤掉黑名单中的标签,不严谨的做法,作为富文本应该使用白名单方式 // 当前过滤的标签为script img style link iframe // // var blacklist = 'script img style link iframe'.split(' ').join('|'); // var re = new RegExp('<(' + blacklist +')>(.*)<\/(' + blacklist + ')>|<(' + blacklist +') [^/]*/>|<(' + blacklist +') [^>]*>', 'gi'); function remove(tn, root) { var tmp = Array.prototype.slice.call(root.getElementsByTagName(tn), 0) for (var i = 0, len = tmp.length; i < len; i++) { tmp[i].parentNode.removeChild(tmp[i]) } } function escape(html) { var div = document.createElement('div') var blacklist = 'script img style link iframe input button'.split(' ') div.innerHTML = html for (var i = 0, len = blacklist.length; i < len; i++) { remove(blacklist[i], div) } return div.innerHTML } var html = data.content; try { html = escape(html) } catch (e) {} var tpl = [ '<div class="control-content">', // 这里不能直接对data.content toLowerCase, 所以上面要加上大写验证 '<div class="richtext ke-edit" name="content">' + html + '</div>', '</div>' ]; return tpl.join(""); },
相关文章推荐
- 数据库被注入 JS脚本 代码, 清除 方法
- 防止最近流行的com/css/c.js注入的解决方法
- 数据库被注入js 木马 解决方法 通过
- 跨站点脚本编制-XSS 描述及解决方法
- 没有文件扩展”js”的脚本引擎解决方法
- servlet输出js脚本到页面时的中文会乱码的解决方法
- 前台JS脚本出现“Automation服务器不能创建对象“错误的解决方法
- 数据采集-关于密码使用js脚本进行rsa方式加密的解决方法
- 【Vegas原创】访问owa,图片和js脚本不能正常显示和使用的解决方法
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- 【Vegas原创】访问owa,图片和js脚本不能正常显示和使用的解决方法
- 从源码中无法看出函数所在的js脚本的解决方法
- XSS CSRF SQL 注入解决方法
- C#中在AxWebBrowser控件注入JS脚本的方法
- 防止XSS注入script脚本,简单的方法;在项目中也可以使用的安全转码格式。
- 数据库被注入js 木马 解决方法 通过
- easyui中tab页中js脚本无法加载的问题及解决方法
- WebView中调用assets下的js脚本无法正常执行的解决方法
- IE不执行js脚本的解决方法
- 【Vegas原创】访问owa,图片和js脚本不能正常显示和使用的解决方法