🗺️ 安全概述与术语¶
先看这篇,建立"前后端安全边界"的整体认知,再进各专题。依据 OWASP Top 10 (2021)、MDN Web Security。
1. 安全是"边界协作"¶
前端负责输入校验(UX)+ 输出转义 + 不用危险 API;后端负责参数化查询 + 输出编码 + 鉴权 + CORS 白名单 + CSP;运维负责 HTTPS / WAF / 依赖扫描 / 日志脱敏。
任何一端偷懒,都会成为突破口。前端做的权限判断只是体验,真正拦截在后端。
2. 核心术语¶
- 同源策略(SOP):协议 + 域名 + 端口三者相同才允许互相读资源,浏览器的安全基石。
- XSS(跨站脚本):把恶意脚本塞进页面,在受害者浏览器里执行。
- CSRF(跨站请求伪造):借受害者已登录的身份,偷偷发请求。
- CORS(跨域资源共享):后端用响应头"授权"浏览器放行某个跨域请求。
- CSP(内容安全策略):后端用响应头声明"哪些来源的资源能加载",从源头挡脚本。
- CSP Nonce:每次响应随机生成的令牌,内联脚本带上它才被信任(避免
unsafe-inline)。 - SameSite Cookie:控制 cookie 在跨站请求时是否携带(
Strict/Lax/None)。 - HttpOnly Cookie:JS 读不到的 cookie,防止 XSS 偷 token。
- HSTS:强制浏览器只用 HTTPS 访问本站。
- SSRF(服务端请求伪造):攻击者让服务器替他访问内网/云元数据(后端重点)。
- 零信任 / 纵深防御:不依赖单一措施,层层设防。
3. OWASP Top 10 (2021) 速读¶
| 排名 | 风险 | 与我们相关 |
|---|---|---|
| A01 | 失效的访问控制(越权) | 详见 认证与授权 |
| A02 | 加密机制失效 | 详见 HTTPS 与传输安全 |
| A03 | 注入(含 XSS) | 详见 XSS |
| A04 | 不安全设计 | 设计期就要考虑威胁建模 |
| A05 | 安全配置错误 | 默认口令、暴露端口 |
| A06 | 易受攻击的过期组件 | 详见 依赖与供应链安全 |
| A07 | 身份识别与认证失败 | 详见 认证与授权 |
| A08 | 软件和数据完整性失效 | 详见 依赖与供应链安全 |
| A09 | 安全日志和监控失败 | 生产日志脱敏、审计 |
| A10 | 服务端请求伪造(SSRF) | 后端校验回源地址 |