跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
我们只要将各种html中的敏感字符进行转义显示即可完成简单的xss攻击防御, 就是一个encode过程:
function encodeHtml(html){return html && html.replace ?
(
html.replace(/&/g, "&") //转换&符号
.replace(/ /g, " ") // 转换空格
.replace(/\b +/g, " ") // 转换多个空格为单个空格
.replace(/</g, "<") // 转换小于符号
.replace(/>/g, ">") // 转换大于符号
.replace(/\\/g, "\") // 转换斜杠符号
.replace(/\'/g, "'") // 转换单引号
.replace(/\"/g, """) // 转换双引号
.replace(/\n/g, "<br/>") // 转换换行符号
.replace(/\r/g, "") //转换回车符号
)
: html;}