1 分钟阅读
前端面试准备 07:安全——XSS/CSRF/CSP、鉴权与前端边界(工程视角)
安全题要讲“威胁模型”。覆盖 XSS/CSRF、CSP、Cookie/SameSite、JWT 与刷新、以及前端在鉴权链路中的边界与常见误区。
- 前端面试
- 安全
- XSS
- CSRF
- CSP
AI 共读让 Noob 帮你提炼要点 / 答疑
安全题的关键不是背定义,而是你能否把“攻击方式→影响→防护→工程落地”讲清。
01 XSS:本质是“把不可信输入当代码执行”#
你要能讲清:
- 反射型/存储型/DOM 型
- 防护:输出编码、白名单渲染、避免 dangerouslySetInnerHTML
- 配合:CSP、HttpOnly Cookie、输入校验(但不要迷信)
02 CSRF:本质是“浏览器自动带上凭证”#
你要能讲清:
- 同站凭证(Cookie)会自动携带
- 防护:SameSite、CSRF Token、双重 Cookie
03 CSP:把“允许执行什么”变成策略#
- script-src 与 nonce/hash
- 禁用 inline script 的收益
- report-only 如何渐进上线
04 鉴权:前端的边界(加分点)#
你要能表达立场:
- 前端做权限控制是“体验优化”,不是安全边界
- 真正的授权必须在服务端完成
05 自测清单#
- 我能用一句话说明 XSS 与 CSRF 的差异吗?
- 我能给出一个“工程可落地”的防护组合吗?
06 练习题(安全题:有推导)#
题 1(问答):为什么“前端鉴权”不是安全边界?#
参考答案(原理)#
- 前端代码与请求完全在用户控制下(可改 JS、可重放请求)
- 真正的权限校验必须在服务端(授权决策点)
- 前端做权限控制更多是“体验优化与减少误操作”,不能替代后端
题 2(实战题):如何防护 XSS?请给出“组合拳”#
参考答案(组合)#
- 默认不渲染不可信 HTML;必须渲染时做白名单 sanitization
- Cookie 设
HttpOnly+Secure+ 合理SameSite - CSP:
script-src使用 nonce/hash,逐步上报(report-only → enforce) - 重要操作加二次确认/风控(降低被盗用影响)
下一篇进入系统设计:高阶岗位会问“如何设计一个复杂前端系统”。
相关阅读
基于内容相似度 + 标签/系列加权
- 1 分钟前端面试准备(8 年一线工程师知识体系与学习路线)
前端面试准备 06:性能与可观测——Web Vitals、长任务、缓存、监控与定位方法
性能面试要讲“指标→定位→手段→验证→回归”。覆盖 Web Vitals、Long Task、资源优化、缓存、以及埋点/日志/Tracing 的前端可观测体系。
- 前端面试
- 性能优化
- Web Vitals
- 1 分钟前端面试准备(8 年一线工程师知识体系与学习路线)
前端面试准备 05:工程化——构建、依赖治理、质量体系、CI/CD 与发布回滚
工程化题的本质是“可持续交付”。从构建与依赖图、代码分割、质量门禁、测试金字塔到灰度发布与回滚,把面试回答讲成“我在团队里怎么做”。
- 前端面试
- 工程化
- CI/CD
- 2 分钟前端面试准备(8 年一线工程师知识体系与学习路线)
前端面试准备 03:浏览器与网络——渲染流水线、缓存、CORS、Cookie、HTTP/2(高频追问一网打尽)
把浏览器与网络题整理成“从输入到像素”的链路:渲染流水线、回流重绘、合成、缓存策略、CORS、Cookie/SameSite、HTTP/2/3。
- 前端面试
- 浏览器
- 网络
- 1 分钟前端面试准备(8 年一线工程师知识体系与学习路线)
前端面试准备 08:系统设计——从需求到架构(模块边界、状态、扩展性、治理)
高阶面试常见题:设计一个控制台/低代码/组件库/多租户前端。用系统设计框架回答:边界、数据流、权限、扩展性、性能、可观测与演进。
- 前端面试
- 系统设计
- 架构