代码安全学习笔记

推荐阅读

本来一直没什么特别好的参考的,直到前几天腾讯开源了《代码安全指南》 ,建议先学完这个再说。

常见安全实践

1.返回通用错误信息

在开源项目中,返回一个通用错误是默认的安全行为,此方法可避免因返回的response body内容向请求者泄露私密信息。

例如:当Flask的代码不处理异常时,返回的500错误不包含任何详细信息(如:traceback等)。

若想更多地控制返回给客户端的内容,应该自定义异常处理代码。

2.不要在生产环境上打开debug模式

虽然详细的异常信息有利于debug,但同时也会向请求者泄露系统部分关键信息。所以类似Django和Flask这类框架,仅在设置debug=True时,报错时才会返回详细的报错信息。