Web安全防护
XSS攻击
- Cross Site Scripting
- 跨站脚本攻击
XSS攻击类型
- 反射型
- 存储型
XSS攻击注入点
-
HTML节点内容
节点内容是动态生成的,内容是用户输入的信息,极有可能造成XSS攻击 -
HTML属性
节点的属性由用户输入的,可能造成XSS攻击 -
Javascritp
JS代码中,由后台注入的变量,或者是由用户输入的信息 -
富文本
避免XSS攻击的方案:
内容转义:
str.replace(/&/g, ‘&’);
- 发表时,前台转义后存储后台
- 后台转义后,返回给前台正常
通过正则匹配出<,> 之后再进行转义,替换为占位符
str.replace(/</g, ‘’<);
str.replace(/>/g, ‘’>);
属性转义:
str.replace(/"/g, ‘&quto;’)
str.replace(/’/g, '' ')
str.replace(/ /g, ‘ ’)