全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-23 7 分钟 ✍️ juanwangdev

安全策略配置

前端安全策略防止 XSS、资源篡改等攻击,保护应用安全。

CSP 内容安全策略

HTML
<meta http-equiv="Content-Security-Policy" content="
  default-src 'self';
  script-src 'self' https://cdn.example.com;
  style-src 'self' 'unsafe-inline';
  img-src 'self' data: https:;
  connect-src 'self' https://api.example.com;
">

CSP 配置说明

指令说明
default-src默认资源来源
script-srcJS 资来源
style-srcCSS 资源来源
img-src图片资源来源
connect-srcAPI 请求来源

注意:CSP 限制资源加载来源,防止恶意脚本注入。

SRI 子资源完整性

HTML
<script
  src="https://cdn.example.com/js/app.js"
  integrity="sha384-abc123..."
  crossorigin="anonymous"
></script>

生成 SRI Hash

JavaScript
import crypto from 'crypto'
import fs from 'fs'

function generateSRI(filePath) {
  const content = fs.readFileSync(filePath)
  const hash = crypto.createHash('sha384').update(content).digest('base64')
  return `sha384-${hash}`
}

Vite SRI 插件

JavaScript
import sri from 'vite-plugin-sri'

export default defineConfig({
  plugins: [sri()]
})

构建后自动添加 integrity 属性:

HTML
<script integrity="sha384-abc..." crossorigin src="/assets/index.js"></script>

XSS 防护

JavaScript
// 避免 innerHTML
element.textContent = userInput  // 安全

// 避免 eval
// 不要执行用户输入的代码

安全配置清单

配置目的
CSP限制资源来源
SRI验证资源完整性
HTTPS加密传输
CORS控制跨域访问
X-Frame-Options防止 iframe 嵌套

HTTPS 配置

JavaScript
export default defineConfig({
  server: {
    https: {
      key: fs.readFileSync('key.pem'),
      cert: fs.readFileSync('cert.pem')
    }
  }
})

CORS 服务器配置

JavaScript
// Express CORS 配置
app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', 'https://example.com')
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST')
  next()
})

安全最佳实践

  • 所有外部资源使用 HTTPS
  • 配置 CSP 限制资源来源
  • SRI 验证 CDN 资源完整性
  • 避免执行用户输入的代码

要点总结

  • CSP 限制资源加载来源
  • SRI 验证资源完整性防止篡改
  • HTTPS 加密传输数据
  • 避免 XSS 漏洞的代码模式

📝 发现内容有误?点击此处直接编辑

← 上一篇 CDN 部署与资源分发
下一篇 → 性能监控集成
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库