Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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 我需要一个函数来检测有多少连接来自同一个用户代理_Node.js_Ws - Fatal编程技术网

Node.js 我需要一个函数来检测有多少连接来自同一个用户代理

Node.js 我需要一个函数来检测有多少连接来自同一个用户代理,node.js,ws,Node.js,Ws,好吧,人们一直在对我的multi-ogar编辑服务器(就像一个agar.io私有服务器)进行僵尸攻击,我注意到他们都使用相同的用户代理。如何使用ws检测来自同一用户代理的连接数,以便阻止它们 差不多 if (useragentconnections += 3) { ws.terminate() } 除非您需要某种帐户登录/身份验证,否则没有万无一失的机制来识别同一个用户代理。以下是一些可以使用的技术,每种技术的成功程度各不相同: 使用某种唯一ID对连接进行Cookie。所有webSoc

好吧,人们一直在对我的multi-ogar编辑服务器(就像一个agar.io私有服务器)进行僵尸攻击,我注意到他们都使用相同的用户代理。如何使用ws检测来自同一用户代理的连接数,以便阻止它们

差不多

if (useragentconnections += 3) {
    ws.terminate()
}

除非您需要某种帐户登录/身份验证,否则没有万无一失的机制来识别同一个用户代理。以下是一些可以使用的技术,每种技术的成功程度各不相同:

  • 使用某种唯一ID对连接进行Cookie。所有webSocket连接都以http请求开始,因此您可以对它们进行Cookie。如果这是来自浏览器,那么cookie将显示在来自该用户代理的每个新webSocket连接处,您可以识别它们。如果这是一个来自某些自定义代码的编程webSocket,那么它们可能不会保留cookie,因此这将不起作用

  • 查看IP地址并计算来自该IP地址的连接数。如果用户是单个家庭用户,则这将唯一标识从该家庭网络连接的任何用户。如果这是一个公司用户,那么该公司网络上可能有许多用户通过NAT来自相同的IP地址,因此您可能会错误地将同一公司/业务网络中的许多用户标识为具有相同的IP地址

  • 需要某种类型的帐户登录/身份验证,并有一些服务条款。如果您自动或手动识别滥用,则可以禁止该帐户

  • 需要一些手动“人工”干预才能登录到您的服务器,如验证码。这是为了防止自动编程登录,并要求另一端有人


  • 我们使用glitch,所以所有ip地址都是127.0.0.1地址。@Colly-我不知道什么是glitch(链接会很方便),但您需要某种方法才能将原始ip地址转发到您的服务器,或者您的选项更加有限。@Colly-我给了您解决此问题的典型工具,这就是您的问题所在。如果你想问一个关于glitch编程环境的特定问题,那么我建议你开始一个新的问题,让它成为关于你可以在glitch内部做什么的问题。