模板注入
- 当直接将用户输入的字符串变量解析到浏览器上时,会有模板注入风险
document.write(`<script>alert("")<\/script>`)
由标签模板进行字符串替换,避免模板注入
function safeHtml(data, v1) {
console.log(arguments)
let s = data[0];
for (let i = 1; i < arguments.length; i++) {
let arg = arguments[i]
s += arg.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">")
s += data[i]
}
return s
}
document.write(safeHtml`<script>alert("")<\/script>`)

浙公网安备 33010602011771号