首页 > 解决方案 > 有没有办法检查 protobuf 消息中的新字段?

问题描述

我想要做的是在将 protobuf 消息中的数据发送到外部网络之前对其进行验证。这是提供安全检查。

问题是 protobufs 允许使用更新的 proto 文件发送附加字段,这允许向后兼容。

这意味着当我去检查消息时,我的自动生成的代码会解析对象,但会删除未知字段。所以这意味着传输的字节可能包含我不知道的信息。

一种解决方法是传输我已解析和检查的数据版本,这意味着删除新字段。这是正确的安全措施,但我仍然不知道有人正在向我发送新版本的消息。最好记录一下并被告知我可能需要更新。我还想与发件人沟通,他们的一些数据正在被丢弃。

有没有办法知道我收到的消息格式是否与我希望收到的格式不匹配?

标签: protocol-buffers

解决方案


推荐阅读