【反馈】router中,如果数据处理失败,希望终止后续路由,希望返回bool false ,则会导致进程重启

daming

比如官网的http://chat.workerman.net/,
如果你的名字选择为 \h\,即带有特殊字符 \ " 等,会导致后台进程报错并重启,是否存在攻击风险,使得进程反复重启,并且进程中的变量数据将会丢失

补充下,仅供官方参考
如果传输的是gzip压缩,又需要根据用户发来的消息选择路由,则router函数中,如果根据buffer解压缩失败,或者处理失败,希望终止请求,而不是继续返回一个worker,则我选择了return false。但是router又必须要返回一个worker

也就是此处$worker_connection->send($gateway_data),如果$worker_connection是路由router返回的bool false值,则这里会导致报错。
从而导致后续进程的重启。

对于这种需求,请问是否有更好的方法来处理用户发来的数据而选择不同的路由,并且对于非法的用户数据,因为不能指定到业务逻辑相关的路由,就需要终止掉该请求,而不导致进程重启,谢谢

1786 1 0
1个回答

blogdaren

官网的这个更多其实还只是个DEMO展示,不过不管怎样,你说的这个情况都属于业务范畴,和workerman框架无关,也就意味着服务端在接收数据的时候必须添加业务数据校验层,永远都不要相信用户端输入的数据,永远都要校验它们的合法性。

  • 暂无评论
年代过于久远,无法发表回答
🔝