请教各位大神关于从js写法上避免xss攻击的问题。
发布于 2年前 作者 roychad7 2504 次浏览

rt

请问,是不是每个元素的js事件需要在document.ready之后进行绑定,然后再过滤掉html代码中的onclick等等事件,可以起到防止xss的效果?

小白是今天刚刚看到xss的问题,所以发出这样的提问,请莫怪。

4 回复
/*  
 *  说明:过滤XSS
 *  模板中使用<!--{}-->标签输出变量则自动添加XSS过滤
 *  使用<!--@@-->标签则不进行xss过滤
 *  使用:
 *  initnode.filter.xss(val);
 */
this.xss = function (val) {
    val = val.toString();
    val = val.replace(/[<%3C]/g, "&lt;");
    val = val.replace(/[>%3E]/g, "&gt;");
    val = val.replace(/"/g, "&quot;");
    val = val.replace(/'/g, "&#39;");
    return val;
};

主要输出过滤吧

过滤了尖括号确实一了百了, 问题是大量的CMS和论坛都采用可视化HTML编辑器, 实现图文并茂的内容, 你不能简单地把<HTML>标签都过滤了

谢谢两位解答,不知能不能粗略讲解下xss攻击的基本原理,网上众说纷纭,小白有些盲目。。

顶贴, 我也想弄清楚! 还有个疑问, Chrome 自带开发工具, 通过这是否有可能伪造请求?

回到顶部