跳到主要内容

安全概述

FeedbackPulse SaaS 以安全为首要优先级构建。本页记录所有已实施的安全措施。


安全层级

传输安全

特性实现方式
HTTPS通过 SESSION_SECURE_COOKIE=true 和重定向中间件强制执行
HSTSStrict-Transport-Security: max-age=31536000; includeSubDomains
安全 HTTP 头SecurityHeaders 中间件在每次响应时应用

身份验证

特性实现方式
密码哈希Bcrypt,12 轮加密
双重身份验证通过身份验证器应用实现 TOTP(Google Authenticator、Authy)
社交登录通过 Google 和 GitHub 实现 OAuth2
邮件验证访问仪表板前必须完成验证
签名 URL用于团队邀请(7 天有效期)
会话加密会话在静止状态下加密

授权

特性实现方式
基于角色的访问4 种角色:superadmin、tenant_admin、tenant_staff、customer
中间件守卫路由级访问控制
租户隔离全局作用域防止跨租户数据访问
套餐功能限制功能受订阅套餐控制

应用安全

特性实现方式
CSRF 保护所有表单使用 Laravel CSRF token(webhook/widget 除外)
XSS 防护Blade {{ }} 自动转义
SQL 注入防护Eloquent 参数化查询
批量赋值防护模型 $fillable 白名单
速率限制按路由节流(5-120 次请求/分钟)

API 安全

特性实现方式
API 密钥哈希SHA256 哈希存储
租户级速率限制每租户 60 次请求/分钟
密钥轮换撤销旧密钥,创建新密钥
最后使用追踪每次使用时更新 last_used_at 时间戳

数据安全

特性实现方式
敏感数据加密平台设置在静止状态下加密
GDPR 合规数据导出、删除、匿名化工具
数据保留根据套餐保留策略自动删除旧数据
审计日志每项重要操作均记录 IP 和用户代理
CSV 注入防护导出时对公式字符进行消毒处理

Webhook 安全

特性实现方式
HMAC 签名出站 webhook 使用 SHA256 签名
SSRF 防护阻止 webhook URL 中的本地地址和私有 IP
Stripe 签名验证Webhook 签名验证
事件去重通过事件 ID 追踪防止重复处理

HTTP 安全头

SecurityHeaders 中间件应用:

X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
Content-Security-Policy: [configured per deployment]

后续步骤