我最近一直在学习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)
它会杀死服务器.