小编Vir*_*han的帖子

如何使用Socket.io防止Node.js中的分布式拒绝服务攻击?

我最近一直在学习node.js和socket.io. 我的问题是如何保护服务器免受客户端攻击?

这是我的服务器代码

io.sockets.on('connection', function (socket) { 
//users.push(socket);       
socket.on('message', function (data) {      

    socket.on('disconnect', function () { });           

    socket.on('bcast', function (data) {        
        socket.emit('news', { 'data': data });
        socket.broadcast.emit('news', { 'data': data });     
    });

    socket.on('login', function(data){
      socket.emit('login', {'data': [ socket.id, data ] });
    });
   });
 });
Run Code Online (Sandbox Code Playgroud)

例如,如果客户端使用chrome开发人员工具来执行流动的代码

 for(var i = 0; i<99999999999; i++)
 {
        socket.emit('bcast', {data: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'});
 }
Run Code Online (Sandbox Code Playgroud)

它会杀死服务器.

ddos node.js socket.io

45
推荐指数
2
解决办法
2万
查看次数

标签 统计

ddos ×1

node.js ×1

socket.io ×1