Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
Javascript 使用nginx防止Websocket DoS攻击_Javascript_Django_Nginx_Websocket_Django Channels - Fatal编程技术网

Javascript 使用nginx防止Websocket DoS攻击

Javascript 使用nginx防止Websocket DoS攻击,javascript,django,nginx,websocket,django-channels,Javascript,Django,Nginx,Websocket,Django Channels,我注意到,有人可以使用一个简单的javascript while循环,连续发送如下内容,很容易使我的网站崩溃: while(true) { websocket.send(JSON.stringify({})); } 我使用的是nginx,它将ws请求传递给daphne,daphne又与django频道进行对话。这是相关的配置部分: location /ws/ { proxy_http_version 1.1; proxy_set_header Upgrade $

我注意到,有人可以使用一个简单的javascript while循环,连续发送如下内容,很容易使我的网站崩溃:

while(true) {
    websocket.send(JSON.stringify({}));
}
我使用的是nginx,它将ws请求传递给daphne,daphne又与django频道进行对话。这是相关的配置部分:

location /ws/ {
    proxy_http_version  1.1;
    proxy_set_header    Upgrade $http_upgrade;
    proxy_set_header    Connection "upgrade";
    proxy_redirect      off;
    limit_conn addr 10;
    proxy_pass      http://daphne;
}

有什么简单的方法可以防止这种情况吗?数据流的上限将是超高的。websocket连接用于可能在几(百?)毫秒内发送多条消息的事情(WebRTC和游戏相关的东西)。

在websocket服务器上,识别垃圾邮件客户端并关闭其会话。如果我知道怎么做,我就不会问这个问题。您能解释一下如何让nginx自动执行此操作吗?也许您的答案:-下面的StackOverflow链接可能是您的答案。