0

我有一个使用 node.js 构建的聊天客户端,我想知道在将消息发送到服务器之前应该如何输入消息?

4

2 回答 2

2

没有什么。你不能阻止客户发送“坏”的东西。验证和清理应该在服务器上完成。在将其显示给客户端时,您应该对其进行清理/过滤/编码。

也许(客户端):

socket.on('message', function(e) {
  txt = e.data;

  // HTML encode
  txt = txt.replace(/&/g, '&');
  txt = txt.replace(/</g, '&lt;');
  txt = txt.replace(/>/g, '&gt;');

  // Or strip tags
  txt = txt.replace(/<[^>]+>/g, '');

  // Or create a text node
  node = document.createTextNode(txt);
});

您应该阅读有关 HTML 编码/转义的内容。

于 2013-03-10T19:31:26.467 回答
1

在将其发送到服务器之前,您实际上不需要做任何事情,就过滤而言..您应该在服务器端进行过滤/验证。如果你这样做了,客户端的人可以很容易地回避它。

于 2013-03-10T19:31:03.520 回答