跳到主要内容

安全概述

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]

后续步骤​