Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 用Socket.IO修复垃圾邮件服务器的方法?_Node.js_Sockets_Socket.io - Fatal编程技术网

Node.js 用Socket.IO修复垃圾邮件服务器的方法?

Node.js 用Socket.IO修复垃圾邮件服务器的方法?,node.js,sockets,socket.io,Node.js,Sockets,Socket.io,所以,基本上,如果我运行一个socket.io程序,有人可以在控制台中复制并粘贴socket.io客户端源代码,然后放置“io.connect('socketurl'),它将充当一个新的套接字。反复这样做,可能会使服务器崩溃或只是破坏一些东西(比如与一群人聊天室)。添加一些东西,比如发射一个特殊的东西来验证它是否是一个真正的套接字,是行不通的,因为他们可以重新创建它。基本上就是这样发生的 有什么方法可以防止这样的事情发生吗?您可以做很多事情,包括(但不限于):限制每个IP的并发连接数或至少按I

所以,基本上,如果我运行一个socket.io程序,有人可以在控制台中复制并粘贴socket.io客户端源代码,然后放置“io.connect('socketurl'),它将充当一个新的套接字。反复这样做,可能会使服务器崩溃或只是破坏一些东西(比如与一群人聊天室)。添加一些东西,比如发射一个特殊的东西来验证它是否是一个真正的套接字,是行不通的,因为他们可以重新创建它。基本上就是这样发生的


有什么方法可以防止这样的事情发生吗?

您可以做很多事情,包括(但不限于):限制每个IP的并发连接数或至少按IP限制速率,需要经过身份验证的会话,如果您正在进行跨域连接,则使用更严格的CORS访问,等等


其中一些可以单独使用socket.io进行开箱即用,否则,您可以始终在socket.io前面使用类似于Express的东西来处理连接,但您希望帮助防止您所描述的滥用。

@mscdex您可以建议使用一些Express或socket io模块来限制每个IP地址的连接数,并防止我的socket io聊天应用程序上出现洪水和垃圾邮件吗?