sup*_*777 0 sockets spam node.js
如何防止有人像这样发送垃圾邮件套接字连接:
for (let i = 0; i < 10000000; i++) {
io.connect('ws://localhost:9001');
}
Run Code Online (Sandbox Code Playgroud)
我已经用谷歌搜索过,但所有主题都在讨论如何emit通过速率限制等来防止。但是如果有人发送垃圾邮件连接而不是发送垃圾邮件消息,则无法使用速率限制。有什么解决方案或提示吗?谢谢
每个 websocket 连接请求的第一步都是 HTTP GET 握手请求,因此您可以通过 IP 限制负载均衡器/代理服务器上的请求数量。在到达您的申请之前,所有超出限制的请求都将被拒绝。例如,请在此处阅读有关如何使用 Nginx Web 代理执行此操作的信息。
如果您不能或不想设置代理服务器,您可以使用rate-limiter-flexible或express-rate-limit等软件包在应用程序级别上执行相同的操作。
io.on('connection', function (socket) {
// rate limit here by IP or user ID
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2038 次 |
| 最近记录: |