mim*_*ipc 6 javascript security xss node.js socket.io
我正在与Node.js和socket.io建立一个简单的小聊天
当用户键入他的消息时,它将被广播给所有其他用户.
服务器发送消息:
io.sockets.emit('fromServerToClient', { "message": message });
Run Code Online (Sandbox Code Playgroud)
客户端显示它:
socket.on('fromServerToClient', function (data) {
$('#messages').append(data.message + '<br />');
});
Run Code Online (Sandbox Code Playgroud)
但是当你发送类似的东西时<script>alert(1);</script>,它会在每个客户端浏览器上执行.
这是一个严重的安全漏洞,我想尽可能地避免它.我见过人们逃避&, <, > and "角色,但我认为这还不够!
如何在我的聊天中100%确定没有XSS漏洞?
顺便说一下,我总是指定字符集来避免UTF-7攻击.
谢谢你的帮助.
不要使用,.html()因为这基本上eval是类固醇 - 能够导致各种语言的解释.
文本总是被解释为文本:
$('#messages').append($("<div>", {
text: data.message
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2529 次 |
| 最近记录: |