Web Security
我们把 Web 安全视为核心要求,而不是事后才考虑的事情。默认假设输入具有敌意、环境不可信。
核心原则
绝不信任用户输入
始终在边界处验证和清洗数据
优先采用安全默认值,而不是可配置性
XSS 与注入
避免使用 dangerouslySetInnerHTML 和原始 HTML 注入
正确转义和编码动态内容
绝不将不可信数据插入 HTML、CSS 或 JS 上下文
确保防御 SQL 注入
认证与授权
不要在安全位置之外存储密钥或令牌
尽可能避免用 localStorage 存放敏感凭据
在适用场景使用 HTTP-only 安全 Cookie
始终在服务端强制执行授权
浏览器安全 API
遵循 CORS、CSP 和浏览器安全边界
使用内容安全策略限制脚本和资源执行
启用 CSP 时避免内联脚本和样式
数据处理
最小化数据暴露
不要记录敏感信息
依赖与供应链
避免不必要的软件包
将第三方代码视为不可信输入
通用原则
简单性可减少攻击面
如果不确定,选择更严格的选项