NodeJS socket.io flood

时间:2017-07-02 23:51:33

标签: node.js socket.io ddos

我想知道,如果通过发出套接字防止用户充斥服务器是否有用。

如果是,如何阻止这些攻击。 我问这个问题,因为最近有很多关于它的帖子。

1 个答案:

答案 0 :(得分:1)

  

通过发出套接字来防止用户充斥服务器是很有用的。

这完全取决于您的应用程序以及发送大量emits()的流氓客户端的后果。如果您的服务器在发生这种情况时发生故障或者服务严重受损,那么它是有用的。

  

如何阻止这些攻击

我说这通常适用于限速伞,与http请求相同。如果您想要防止过度活跃的客户端,那么您通常会在服务器上设置一些速率限制(这是Google为其API所做的事情),当客户端超过速率限制时,您可以放弃他们的套接字。 io连接并拒绝该用户的新连接一段时间。在多次违规后,您可能会禁止他们的帐户。

您还可以将同一个客户端的同时连接数限制为一些较小的数字(取决于您的应用程序应该是多少),以防止它们多次从同一客户端敲击您。

提高复杂程度,您可以将速率限制设置为基于帐户,因此,如果帐户有多个开放连接,则计算所有帐户连接的速率限制,而不是单独连接每个连接。