欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

XSS 与 CSP:内容安全策略的纵深防御设计

发表于:|最后更新:|分类:安全与运维|阅读:1867 次
本文标签:前端安全XSSCSP

跨站脚本攻击(XSS)的本质是攻击者将恶意脚本注入受害者的浏览器执行环境。仅依赖输入过滤远远不够,内容安全策略(CSP) 提供了浏览器层面的最后一道防线。

一、基于 nonce 的严格 CSP 配置

http
Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-abc123'; object-src 'none'; base-uri 'none';

服务端在每次响应中生成随机 nonce,仅允许携带该 nonce 的内联脚本执行。即使页面存在注入点,攻击者构造的 <script> 标签因缺少合法 nonce 也会被浏览器直接阻断。

二、配套加固措施

  • 为会话 Cookie 设置 HttpOnly 与 SameSite=Lax
  • 使用 Trusted Types 禁用 innerHTML 等危险 Sink
  • 对输出按上下文(HTML/JS/URL)分别编码