JohnSnooow

Results 2 comments of JohnSnooow

这是在线上遇到过的问题,望大佬看看。

之前在线上受到攻击,收到大量非法请求包,解包的地方抛出大量的异常, 为了让解包的部分能够捕获到异常,正常运行,不让异常扩散。 出于这个原因增加了两个try。 线上实际上遇到3个地方抛异常,我粗暴的加了两个try来解决。 1. protos[name].option , protos[name] 为空 抛出异常 2. pinus-protocol/lib/protocol.ts Message.decode 参数buffer为空, 导致Buffer.from(buffer)抛出异常 3. pinus-protocol/lib/protocol.ts Message.decode 中 Buffer.alloc(bodyLen) bodyLen为非法的负值导致抛出异常 更合适的做法可能是在这些地方做出一些非法判定, 减少异常的抛出。