gpt4 book ai didi

javascript - 如何防止客户端发送巨大的 websocket 数据包?

转载 作者:搜寻专家 更新时间:2023-11-01 00:00:02 35 4
gpt4 key购买 nike

我正在制作一个使用 WebSockets 在浏览器和 Node 服务器之间进行通信的网络应用。

如果您打开调试控制台 (F12),您可以访问套接字实例并写入它。

例如,socket.send('packetname', 'data')

是什么阻止某人打开控制台并编写这样的内容?

socket.send(new Array(99999));

所有这些发送到服务器的数据都可能是巨大的,当它到达那里时,带宽已经被占用并且已经被处理过了。当然有验证,但那时已经太晚了,资源已经花在了处理上。

您也不能只检查数组的长度,因为有人可以发送一个第一个元素是一个巨大数组的数组,或者其他任何东西。我不认为有一种方法可以计算字节大小,所以我想最好的选择是将数据字符串化以检查其大小(这非常慢)?

我所有的包裹都很小。我正在寻找一种方法来防止超过一定大小的数据包被发送到服务器。这可能吗?

最佳答案

除非您可以完全控制客户端(您没有),否则您不能阻止客户端向您的系统发送任意大数据。客户端甚至不需要使用浏览器,因此浏览器内的任何限制都不起作用。

您只需要处理它,例如,如果您获得意外数量的数据,则立即断开客户端连接,并且可能将来源列入黑名单,以便下一次攻击尝试将更早地停止。

关于javascript - 如何防止客户端发送巨大的 websocket 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37889653/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com