Skip to content

前端安全总览

前端代码运行在用户浏览器中,攻击面包括:渲染不可信数据浏览器同源策略被绕过或配置不当存储敏感信息跨窗口通信供应链依赖等。防御原则是:默认不信任任何外部输入最小权限纵深防御(前端校验 + 后端强制校验 + 传输与头部策略)

常见威胁类别一览

编号类别典型后果纵深防御要点
02XSS(跨站脚本)Cookie 窃取、会话劫持、钓鱼输出编码、CSP、HttpOnly Cookie
03CSRF(跨站请求伪造)非自愿转账、改密、删数据CSRF Token、SameSite、校验 Origin
04点击劫持诱导点击敏感操作frame-ancestors / X-Frame-Options
05开放重定向钓鱼、恶意跳转白名单跳转、禁止用户可控完整 URL
06原型链污染全局逻辑被篡改、RCE 前置冻结原型、Object.create(null)、校验合并
07敏感数据与存储Token 泄露、XSS 后全盘失守不落库敏感令牌、Secure Cookie
08CORS 配置不当跨域读接口、辅助 CSRF精确 Origin、勿配 * + 凭证
09postMessage 滥用跨窗口窃取数据、指令注入校验 origin、结构化协议
10第三方脚本与供应链全站被挂马、构建投毒SRI、锁定依赖、审查脚本
11传输与 MITM窃听、篡改会话全站 HTTPS、HSTS
12注入(SQL/命令等)数据泄露、服务器沦陷参数化查询(后端为主)、勿拼接
13恶意上传与路径穿越Webshell、任意文件读类型校验 + 服务端存储隔离
14ReDoS(正则回溯)CPU 占满、拒绝服务安全正则、超时与长度限制
15JSONP / 不安全回调敏感 JSON 泄露弃用 JSONP、改用 CORS + 鉴权

前端在攻防中的定位

  1. 界面层:控制怎样把字符串放进 DOM(决定 XSS 面)。
  2. 请求层:决定_cookie、Token、自定义头发送规则(与 CSRF、CORS 相关)。
  3. 存储层localStorageHttpOnly,一旦被 XSS 等同明文泄露。
  4. 依赖层:npm 包与 CDN 脚本可直接改写运行时行为。

因此:没有任何「纯前端」能单独挡住恶意请求,前端做的是 降低暴露面配合后端策略;最终权限校验与持久化安全必须在服务端完成。

推荐阅读顺序

按编号 02 → 15 阅读具体专题;每一篇均包含 攻击思路示意代码防护代码或配置原理讲解。若时间有限,优先掌握 XSS、CSRF、CORS、开放重定向 四类常见要点。