json、protobuf、thrift.md

时间:2020-05-31 23:21:27   收藏:0   阅读:45

什么是序列化

序列化就是把后端开发语言中的对象转换为二进制数据,反序列化就把二进制数据转换为后端开发语言的对象

事实上的跨语言序列化方案只有三个: protobuf, thrift, json

序列化的安全问题:

应该重视反序列化漏洞,毕竟Oracle都不得不考虑把java序列化废弃了

序列化漏洞的根本原因是:没有控制序列化的类型范围

防止序列化漏洞,最好是使用白名单

protobuf通过IDL生成代码,严格控制了类型范围

protobuf不是完美的方案,但是作为跨语言的序列化事实方案之一,IDL生成代码比较麻烦也不是啥大问题

原文:https://www.cnblogs.com/justblue/p/13022133.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!