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

时间:2011-01-16 23:28:44

标签: node.js socket.io

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

请参阅我的帖子pubsub redis with socket.io,其中有一个/ XSS漏洞。

来自redis-cli:

publish pubsub "<script>alert('Hello world!');</script>"

您会看到一个警告对话框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;');
}

这是否足够或我遗失了什么?也许甚至在socket.js内解决问题?

1 个答案:

答案 0 :(得分:5)

有一个node-validator库,为XSS提供清理方法。