跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

javascript安全漏洞有哪些_如何防范xss和csrf攻击【教程】

直接拼接用户输入到HTML会触发XSS,因浏览器将innerHTML、document.write等未转义内容解析为可执行代码,如直接执行导致Cookie泄露。 为什么直接拼接用户输入到 HTML 就会触发 XSS? 因为浏览器会把
innerHTML
document.write
或未转义的模板变量当作可执行代码解析。比如用户提交了
,你没做任何处理就塞进页面,这段脚本立刻执行——Cookie 就被发到攻击者服务器了。 常见错误现象: • 后台用
res.send(`
${userInput}
`)
直接返回 HTML • 前端 用
el.innerHTML = data.comment
渲染评论 • 模板引擎关闭了自动转义(如 EJS 的
<%= %>
而非
<%- %>
) 输出前必须转义:服务端用
html.escape()
(Python)、
htmlspecialchars()
(PHP)或
xss()
(Node. js 库);前端优先用
textContent
替代
innerHTML
富文本场景必须用成熟净化库,比如
DOMPurify.sanitize(dirtyHtml)
,别自己写正则过滤