nodejs-xss防御
时间:2021-10-14 14:02 来源:网络整理 作者:采集插件 点击:次
危害描述 修复方案 一般前端富文本默认自带xss防御 无论是开发何种应用程序,我们都有两条基本的安全准则: 建议使用:框架自带的过滤器,对输入进行存储。每个输出纯文本输入的内容,当要取出来用的时候,都需要转移输出。 弱建议使用: 在输入的时候,先过滤,再转义,然后入库。这样不用管输出,避免遗漏,但防御的效果一致。同时也方便,各种平台的数据调用!且减少其它漏洞的产生。 不建议使用:黑名单过滤,xss攻击html标签,也支持HTML事件攻击,使用黑名单是防御不完的。故此,用白名单过滤,方案才可取。 nodejs实践: 导入xss组件 npm install xss koa的router层进行参数拦截 // 遍历每一个body参数和query参数,防止xssif (ctx.request.body) { for (var sign in ctx.request.body) { // 判断当前是否有值并且判断是否为参数string类型,以免破坏参数类型 if (ctx.request.body[sign] && ((typeof ctx.request.body[sign]) == "string")) { ctx.request.body[sign] = xss(ctx.request.body[sign]); } } } if (ctx.query) { for (var sign in ctx.query) { // 判断当前是否有值并且判断是否为参数string类型,以免破坏参数类型 if (ctx.query[sign] && ((typeof ctx.query[sign]) == "string")) { ctx.query[sign] = xss(ctx.query[sign]); } } } 原文地址:https://www.cnblogs.com/jiaolv/p/14348930.html (责任编辑:admin) |