gpt4 book ai didi

javascript - 安全的 Node.js 聊天(避免 XSS)

转载 作者:数据小太阳 更新时间:2023-10-29 05:06:03 24 4
gpt4 key购买 nike

我正在使用 Node.js 和 socket.io 构建一个简单的聊天

当用户键入他的消息时,它会广播给所有其他用户。

服务器发送消息:

io.sockets.emit('fromServerToClient', { "message": message });

客户端显示它:

socket.on('fromServerToClient', function (data) {
$('#messages').append(data.message + '<br />');
});

但是当你发送像 <script>alert(1);</script> 这样的东西时, 它在每个客户端浏览器上执行。

这是一个严重的安全漏洞,我想尽可能避免它。我见过人们逃跑&, <, > and "字符,但我认为这还不够!

我如何才能 100% 确定我的聊天中没有 XSS 漏洞?

顺便说一下,我总是指定字符集以避免 UTF-7 攻击。

感谢您的帮助。

最佳答案

不要使用 .html(),因为这基本上是类固醇的 eval - 能够解释多种语言。

虽然文本总是被解释为文本:

$('#messages').append($("<div>", {
text: data.message
}));

关于javascript - 安全的 Node.js 聊天(避免 XSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com