网络与安全 · 单选题 · 第 32 题
前端与全栈开发面试 · 第 32 题
防御 XSS(跨站脚本)最核心的做法是?
- A把所有接口从 GET 请求改为 POST 请求,攻击者就无法注入脚本了
- B按输出位置对用户数据做相应的转义,并配置内容安全策略(CSP)
- C在登录和提交表单的时候加上图形验证码,防止脚本被自动执行
- D全站启用 HTTPS 加密传输,这样恶意脚本就无法插入到页面中
答案
B B. 按输出位置对用户数据做相应的转义,并配置内容安全策略(CSP)
解析
XSS 是攻击者的数据被当成代码执行,所以要在输出时按上下文转义:HTML 正文、属性、URL、JS 各有不同的转义规则。React、Vue 默认会转义插值,dangerouslySetInnerHTML 和 v-html 是高危出口,确需渲染富文本时要用 DOMPurify 等净化。CSP 限制脚本来源,作为第二道防线;HTTPS 防的是传输链路上的篡改。