前端/移动开发面试题更新 2026-08-05

React 应用开发过程中,前端安全方面通常存在哪些主要风险?针对这些风险,有哪些具体的防护措施可以在编码层面和实施层面加以应用?

前端/移动开发安全意识技术原理React

考察说明

考察对 React 开发中常见安全威胁的认知及实际防护能力。

回答思路

  1. 【回答框架 1】XSS(跨站脚本)是最常见风险。React 默认转义 JSX 中的文本内容,可阻止大多数注入;但通过 dangerouslySetInnerHTML 直接插入 HTML 时,必须对输入做净化处理,例如使用 DOMPurify 库。
  2. 【回答框架 2】URL 注入风险:使用用户输入构造 href、src 等属性时,应校验协议白名单,如仅允许 http、https、mailto,防止 javascript: 等伪协议执行恶意代码。
  3. 【回答框架 3】JSON 注入与 CSRF:在将服务端 JSON 数据嵌入页面时,需注意转义特殊字符(如 U+2028/2029),避免破坏脚本;同时避免在请求中携带敏感 token 的常规做法,应使用 CSRF Token 或 SameSite Cookie 等机制。
  4. 【回答框架 4】第三方库和依赖安全:使用 npm audit 定期检查依赖漏洞,避免使用已知有安全风险的库版本,保持依赖更新。
  5. 【回答框架 5】敏感信息保护:避免在前端代码中硬编码密钥或令牌,所有敏感操作都应通过后端代理,并实施权限校验。
  6. 【关键点 1】React 默认转义文本内容,防 XSS 需重点处理 dangerouslySetInnerHTML 和 URL 属性。
  7. 【关键点 2】使用 DOMPurify 等库净化用户 HTML。
  8. 【关键点 3】校验 URL 协议白名单,防止伪协议注入。
  9. 【关键点 4】依赖安全:定期执行 npm audit 并升级修复。
  10. 【关键点 5】敏感信息不应暴露在前端,应通过后端处理。
  11. 【易错点 1】错误地认为 React 已全面防 XSS,而忽略了 dangerouslySetInnerHTML 的滥用。
  12. 【易错点 2】仅在前端进行输入校验,没有依赖后端校验。
  13. 【易错点 3】忽略第三方库的已知漏洞,导致供应链攻击。