新手 Web 安全清单:密钥、依赖和用户输入
从机密管理、服务端验证、最小权限和依赖审查开始建立安全默认值。
基础安全不应等上线前才考虑。先做到不提交密钥、不信任外部输入、依赖可追溯、权限在服务端判断,就能避免许多高频事故。
你会学到什么
识别机密泄漏风险。
区分输入验证与权限校验。
建立依赖与错误信息的安全习惯。
动手步骤
将密钥迁移到环境变量。
在服务端验证类型、长度和权限。
提交 lockfile 并处理依赖告警。
为错误页和日志设置不同的信息粒度。
最小示例
const email = String(input.email ?? "");
if (!email.includes("@") || email.length > 254) {
throw new Error("邮箱格式不合法");
}容易踩坑的地方
前端隐藏按钮不是权限控制。
base64 不是加密。
npm audit 不能代替理解真实依赖风险。
完成前检查
仓库无可用 Token。
写接口服务端鉴权。
依赖告警有处理记录。
延伸阅读
GitHub Docs:Secret scanning:https://docs.github.com/en/code-security/secret-scanning/introduction/about-secret-scanning
OWASP Top Ten:https://owasp.org/www-project-top-ten/
DISCUSSION
文章讨论
0 条评论
