我有以下代码允许用户加入一个房间开始聊天。
server.on('connect', function(data) {
nickname = prompt('What is your name?');
server.emit('join', {name : nickname, room : $('#roomid').val()});
$('#events').append('<li>Welcome, ' + nickname + '!</li>');
});
但是,我遇到的一个问题是:什么阻止用户向数百个用户名发出“加入”,向聊天室发送垃圾邮件?我对实时编程很陌生,所以我想知道我可以使用哪种技术来防止这种行为。
答案 0 :(得分:1)
默认情况下,阻止用户执行此操作并不存在任何问题。你需要构建服务器端安全性来处理这种事情;一个很好的例子是IRC,其中一些服务器设置了系统,限制或断开过于垃圾邮件的用户。请考虑服务器端其他逻辑的这些选项:
socket.set
)跟踪已连接套接字的用户名,如果他们发送了另一个join
事件,则将其丢弃。