代码安全学习笔记
推荐阅读
本来一直没什么特别好的参考的,直到前几天腾讯开源了《代码安全指南》 ,建议先学完这个再说。
常见安全实践
1.返回通用错误信息
在开源项目中,返回一个通用错误是默认的安全行为,此方法可避免因返回的response body内容向请求者泄露私密信息。
例如:当Flask的代码不处理异常时,返回的500错误不包含任何详细信息(如:traceback等)。
若想更多地控制返回给客户端的内容,应该自定义异常处理代码。
2.不要在生产环境上打开debug模式
虽然详细的异常信息有利于debug,但同时也会向请求者泄露系统部分关键信息。所以类似Django和Flask这类框架,仅在设置debug=True
时,报错时才会返回详细的报错信息。