网络安全

156 阅读1分钟

XSS 跨站脚本攻击

  • 原理:通过注入恶意脚本到网页中,窃取用户数据或劫持会话。

  • 存储型:恶意脚本存入数据库(如用户评论)

  • 反射型:脚本通过URL参数注入(如钓鱼连接)

  • DOM型:客户端直接修改DOM触发攻击

  • 前端防御:

    1. 输入转义
      • 使用textContent 代替 innderHTML,避免直接渲染HTML
      • 使用转移第三方库处理用户输入
    2. 内容安全策略(CSP)
      • 在HTTP头设置Content-Security-Policy,限制脚本来源
      Content-Security-Policy: script-src 'self' https://trusted.cdn.com;
      
    3. HttpOnly Cookie
      • 避免通过document.cookie暴露Cookie(需要后端配合)

CSRF(XSRF) 跨站请求伪造

  • 原理:诱导用户访问恶意页面,伪造已认证的请求(如账号操作)
  • 前端防御:
    1. CSRF Token
      • 后端生成Token嵌入表单/请求头,前端提交时携带
    2. SameSite Cookie属性
      • 设置Cookie的SameSite属性微Strict 或 Lax
      Set-Cookie: sessionId=abc123; SameSite=Lax
      

SQL注入

  • 原理:通过输入恶意SQL语句篡改数据库查询

DDos攻击

  • 原理:通过海量请求耗尽服务器资源
  • 前端防御:
    1. 请求限流:
      • 限制请求频率(如按钮防重复点击)
    2. CDN和缓存优化
      • 使用CDN分发静态资源,减少服务器压力

最佳实践:

  • 代码扫描:
    • 使用ESLint插件(如eslint-plugin-security)检测危险模式
  • 安全测试:
    • 定期进行滲透测试,使用工具(如OWASP ZAP)
  • 错误处理:
    • 避免暴露堆栈信息(如NODE_ENV=production 隐藏细节)