面向安全地编程

2025-04-17 19:42:00
丁国栋
原创 28
摘要:本文记录一些安全编程的基本原则和技巧等。目的在于编写安全的代码、设计安全的软件和防护安全事件等。

以下是一些安全编程的基本原则。
  1. 验证用户的输入,对才有输入的URL参数、表单、API请求、Cookie进行严格验证;
  2. 只允许输入已知的限定的合法字符;
  3. 对数字、日期、时间等格式进行校验;
  4. 对输入的长度进行限制;
  5. 遵循最小权限原则,做好访问控制;
  6. 采用限流阻止暴力破解和爬取;
  7. 敏感操作做二次验证或者延迟执行;
  8. 重要操作需要做安全验证和日志记录;
  9. 使用安全HTTP header,例如CSPs、X-Centent_Typ-Options、X-Frame-Options等;
  10. 避免将debug、堆栈跟踪或SQL等暴露在生产环境的报错中;
  11. 安全日志;
  12. 使用CSRF防护,防止表单恶意提交;
  13. 文件上传检查文件类型,并且存放到无法直接访问的目录;
  14. 使用静态分析SAST和动态测试DAST;
  15. 在Web开发中,应该避免在URL、请求体或响应中直接包含SQL语句,在URL和请求体中包含SQL会被安全防护设施(例如Web应用防火墙(WAF))认为SQL注入之类的不安全事件;
  16. 部署WAF对Web服务器进行保护;
  17. 隔离环境,分开开发、测试、生产环境;
  18. 定期加密备份数据,测试恢复流程;
  19. 及时修复漏洞;

发表评论
博客分类