socket.io有xss漏洞吗?怎么解决这个?

Alf*_*red 0 node.js socket.io

我相信socket.io有一个XSS漏洞,我想知道如何解决这个问题.

请参阅我的关于pubsub redis的文章,其中socket.io有一个/ XSS漏洞.

来自redis-cli的时候:

publish pubsub "<script>alert('Hello world!');</script>"
Run Code Online (Sandbox Code Playgroud)

您将看到一个警告对话框,Hello world!其中有BAD ...

为了解决这个问题,我从visionmedia的jade库中复制了以下代码片段并想知道这是否足够?

/**
 * Escape the given string of `html`.
 *
 * @param {String} html
 * @return {String}
 * @api private
 */

function sanitize(html){
    return String(html)
        .replace(/&(?!\w+;)/g, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;');
}
Run Code Online (Sandbox Code Playgroud)

这还不够,还是我错过了什么?也许甚至在socket.js里面解决问题?

yoj*_*o87 5

有一个节点验证器库,它为XSS提供清理方法.