Web 安全的本质是处理不被信任的输入。对于前端工程师而言,安全意味着守住浏览器这道大门,防止恶意代码在用户的客户端执行,并保护用户的敏感数据不被窃取。

解决的核心痛点:Web 应用暴露在开放的互联网中,攻击者可以利用浏览器的信任机制或解析漏洞发起攻击;如何建立多层防御体系保障用户数据安全?


核心命题


运行机制

graph TD
    Attacker[攻击者]

    subgraph Browser [浏览器/客户端]
        DOM[DOM 环境]
        Storage[Cookie/Storage]
    end

    subgraph Network [传输层]
        Req[HTTP 请求]
    end

    subgraph Server [服务端]
        DB[(数据库)]
    end

    Attacker -->|注入恶意脚本| DOM
    DOM -.->|XSS 攻击| Storage
    Attacker -->|伪造请求| Req
    Req -.->|CSRF 攻击| Server
    Attacker -->|中间人劫持| Req

关键区别

维度XSSCSRF
本质浏览器执行恶意脚本利用登录态发送伪造请求
攻击目标窃取数据、执行操作借用用户身份执行操作
防御关键输出转义、CSPSameSite Cookie、CSRF Token

常见威胁与防御

威胁类型防御措施
XSS注入型输出转义、CSP、避免 v-html
CSRF请求伪造SameSite Cookie、Token 验证
点击劫持界面劫持X-Frame-Options
中间人攻击传输层HTTPS、HSTS
供应链攻击依赖npm audit、Snyk

纵深防御体系

防御层级关键技术前端动作
编码层输入验证、输出转义HTML Entity 编码
浏览器层CSP配置安全策略头
传输层HTTPS全站 HTTPS
存储层Cookie 安全属性HttpOnly、Secure、SameSite
通信层CORS合理配置跨域
依赖层供应链审计定期安全扫描

知识图谱

FAQ

MOC-Web安全问题

核心概念

防御策略

  • CSP — 内容安全策略
  • Cookie — 安全属性
  • HTTPS — 安全传输

待探索问题

指向原始笔记的链接


参考延伸