安全编码是指编写能够抵抗攻击并保护数据的代码——遵循能够防止常见漏洞的实践。理解基础知识能帮助开发人员从一开始就将安全性融入代码,而不是事后才加入。
为什么这很重要
✓ VALIDATE all input (never trust user/external input); allowlist where possible
✓ Use PARAMETERIZED queries (prevent SQL injection); ESCAPE output (prevent XSS)
✓ AUTHENTICATE and AUTHORIZE properly (verify identity; check permissions server-side)
✓ HANDLE SENSITIVE DATA carefully — hash passwords, encrypt sensitive data, use HTTPS
✓ Don't HARDCODE SECRETS (keys, passwords) in code → use env vars / secrets managers
✓ Use SECURE DEFAULTS; fail securely (errors shouldn't expose data or grant access)
避免常见错误
✗ Trusting user input / client-side checks (validate on the SERVER)
✗ Exposing sensitive info in errors/logs (stack traces, secrets, PII)
✗ Using outdated/vulnerable DEPENDENCIES (keep them updated; scan them)
✗ Rolling your own CRYPTO (use vetted libraries/standards, not custom algorithms)
✗ Overly broad permissions (apply LEAST PRIVILEGE)
