请教各位大神关于从js写法上避免xss攻击的问题。
发布于 12 年前 作者 roychad7 11976 次浏览 最后一次编辑是 8 年前

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 自带开发工具, 通过这是否有可能伪造请求?

回到顶部