安全与风控
在加固 Web 应用或通过安全审计时配置 HTTP…
为 Web 应用配置 HSTS、CSP、X-Frame-Options 等 HTTP 安全响应头,防御浏览器端常见攻击。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在加固 Web 应用或通过安全审计时配置通用
解决思路
- 配置 HSTS 强制 HTTPS:`Strict-Transport-Security: max-age=31536000; includeSubDomains`(可加 `preload`)
- 配置 CSP 限制资源加载:`Content-Security-Policy: default-src 'self'`
- 配置 X-Frame-Options 防止点击劫持:`X-Frame-Options: DENY`
- 配置 X-Content-Type-Options 防止 MIME 嗅探:`X-Content-Type-Options: nosniff`
- 配置 Referrer-Policy:`strict-origin-when-cross-origin`
- 配置 Permissions-Policy 禁用未使用特性:`geolocation=(), microphone=(), camera=()`
- Express 中使用 helmet 中间件:`app.use(helmet())`
- Express 中自定义 CSP:通过 `helmet.contentSecurityPolicy({ directives: { defaultSrc: ["'self'"], scriptSrc: ["'self'", "'unsafe-inline'"], styleSrc: ["'self'", "'unsafe-inline'"], imgSrc: ["'self'", "data:", "https:"], connectSrc: ["'self'", "https://api.example.com"], fontSrc: ["'self'", "https://fonts.gstatic.com"], frameAncestors: ["'none'"] } })`
- Nginx 中使用 `add_header ... always` 添加各安全头(HSTS、X-Frame-Options、X-Content-Type-Options、X-XSS-Protection、Referrer-Policy、Permissions-Policy、CSP)
- 使用 Security Headers(securityheaders.com)验证响应头
- 使用 Mozilla Observatory(observatory.mozilla.org)验证配置
- 使用 CSP Evaluator(csp-evaluator.withgoogle.com)评估 CSP 策略
- 按清单核对:HSTS 启用且 max-age 足够长、CSP 已配置并测试、X-Frame-Options 为 DENY、X-Content-Type-Options 为 nosniff、Referrer-Policy 已配置、Permissions-Policy 禁用未使用特性
- 参考 references/python-apache.md 获取 Flask 安全头中间件、Flask-Talisman 配置、Apache .htaccess 配置及响应头测试脚本
适用边界 · 注意事项
- 不要将 CSP 长期停留在 report-only 模式
- 不要使用过于宽松的策略(如滥用 'unsafe-inline')
- 修改后不要忘记测试,且 HSTS 不要遗漏所有子域名