我有一个使用node.js构建的聊天客户端,我想知道在发送到服务器之前我应该怎么做才能输入消息?
答案 0 :(得分:2)
无。你不能阻止客户发送'坏'的东西。验证和清理应该在服务器上完成。在将其显示给客户端时,您应该清理/过滤/编码它。
也许(客户端):
socket.on('message', function(e) {
txt = e.data;
// HTML encode
txt = txt.replace(/&/g, '&');
txt = txt.replace(/</g, '<');
txt = txt.replace(/>/g, '>');
// Or strip tags
txt = txt.replace(/<[^>]+>/g, '');
// Or create a text node
node = document.createTextNode(txt);
});
答案 1 :(得分:1)
在将发送到服务器之前,你真的不需要做任何事情,只要过滤......你应该在服务器端进行过滤/验证。如果你这样做,客户端的人可以很容易地回避它。